php-fpm7 配置 unix domain sock 模式
路径:
/etc/php-fpm.d/www.conf
修改 :
listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0666
路径:
/etc/php-fpm.d/www.conf
修改 :
listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0666
我们采用源码的方式安装:
git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin
git clone https://github.com/nrk/predis.git vendor
安装后默认是不需要账户可以浏览的,如果要设置权限,修改 include/config.sample.inc.php 中的账号内容
下载
https://redis.io/
安装参考
http://ghoulich.xninja.org/2016/07/28/how-to-install-redis-in-centos/
需要先单独编译deps目录下的各组件,其他的缺少的工具按照提示安装就好了
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum clean all
yum makecache fast
yum install -y php71w-fpm mod_php71w php71w-cli php71w-common \
php71w-gd php71w-mbstring php71w-mysqlnd \
php71w-xml php71w-ldap
php -v
PHP 7.1.18 (cli) (built: Jun 2 2018 08:16:19) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
sudo systemctl enable php-fpm
参考:http://www.jslink.org/linux/centos-postfix-mailx-qq-smtp-sendmail.html
目前遗留的问题:
1) 发件人的昵称是root,没有跟随配置的发件人邮箱同步
如何设置IMAP、POP3/SMTP及其SSL加密方式?
如果您的电子邮件客户端支持SSL,可以在设置中选择使用SSL。
通用配置参数:
(我们已经默认都支持这些协议,用户无需自己手动开启这些服务器与端口)
POP3/SMTP协议
接收邮件服务器:pop.exmail.qq.com ,使用SSL,端口号995
发送邮件服务器:smtp.exmail.qq.com ,使用SSL,端口号465
海外用户可使用以下服务器
接收邮件服务器:hwpop.exmail.qq.com ,使用SSL,端口号995
发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465
IMAP协议
接收邮件服务器:imap.exmail.qq.com ,使用SSL,端口号993
发送邮件服务器:smtp.exmail.qq.com ,使用SSL,端口号465
海外用户可使用以下服务器
接收邮件服务器:hwimap.exmail.qq.com ,使用SSL,端口号993
发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465
账户名:您的企业邮箱账户名,账户名需要填写完整的邮件地址
密码:您的企业邮箱密码
电子邮件地址:您的企业邮箱的完整邮件地址
参考系统给的样例,封装了写入函数:
int usr_write_config_to_flash() { int ret; U32 offset = 0; // do { // 写入前要先擦除块 info_block_erase(); // 写入配置数据 memset(flash_write_buf, 0, sizeof(flash_write_buf)); memcpy(flash_write_buf, &sys_config, sizeof(sys_config)); offset = 0; ret = am_hal_flash_program_info(AM_HAL_FLASH_PROGRAM_KEY, 0, // we are only supporting INFO on instance 0. flash_write_buf, offset / 4, // offset (sizeof(sys_config) + 3) / 4); // num words //} while (ret); if (ret) { log(ERR, "am_hal_flash_program_info at offset 0x%08x i32ReturnCode = 0x%x.\n", offset, ret); return ERROR; } log(RUN, "flash write success\r\n"); return SUCCESS; }
系统的样例是正常的,因为没有别的业务逻辑,我的代码在开机执行也是正常的,但是在业务中调用 am_hal_flash_program_info 函数时就会随机失败,开始一直怀疑是地址区段的问题,各种尝试都不行,后来看函数的原型,发现下面的文字说明,才恍然一惊:
看到蓝色标识的部分,才想到是不是被系统的定时器中断影响了,因为系统起来后开启了很多定时器中断,于是在擦除和写入的逻辑区间关闭了中断,于是就没有再发现失败了。
浪费了半天时间,惭愧,特此随记,以示教训:在没有相关文档的情况下,要仔细看函数原型的任何一行说明文字
遇到的问题:clang-format 启动自动格式化后,每次自动换行的宽度太窄,导致大量的自动换行,影响代码美观。
解决:
以默认的.clang-format 配置文件为模板,修改ColumnLimit参数:
Language: Cpp
ColumnLimit: 120
最后将.clang-format 文件放到工程的根目录下,重新开启VSC,生效。
其中 Language的设置如下:
Language (LanguageKind)
Language, this format style is targeted at.
Possible values:
LK_None (in configuration: None) Do not use.
LK_Cpp (in configuration: Cpp) Should be used for C, C++.
LK_Java (in configuration: Java) Should be used for Java.
LK_JavaScript (in configuration: JavaScript) Should be used for JavaScript.
LK_ObjC (in configuration: ObjC) Should be used for Objective-C, Objective-C++.
LK_Proto (in configuration: Proto) Should be used for Protocol Buffers (https://developers.google.com/protocol-buffers/).
LK_TableGen (in configuration: TableGen) Should be used for TableGen code.
LK_TextProto (in configuration: TextProto) Should be used for Protocol Buffer messages in text format (https://developers.google.com/protocol-buffers/).
相关的选项含义可以参考这里:http://releases.llvm.org/3.6.0/tools/clang/docs/ClangFormatStyleOptions.html
之前研究过这个,今天有人问起,回想了半天才想起来具体的技术细节,所以作下简要笔记,已备下次回顾之用。
在IOS7以后的版本中,当iphone连接硬件wifi热点,跟硬件建立tcp socket连接时,怎么才能同时保证可以通过手机自身的4G上internet,在android上这个是做不到的,但iphone可以,这场景就用到multipath TCP。