macOS下PHP程序开发日常工具
以下是本人在macOS下进行PHP程序开发日常所用的工具。
首先必装的是神器Alfred。
编辑器
1. PhpStorm
2. Sublime Text
3. TextWragler
4. IntelliJ Idea
5. HBuilder
Home of Little Jelly
以下是本人在macOS下进行PHP程序开发日常所用的工具。
首先必装的是神器Alfred。
编辑器
1. PhpStorm
2. Sublime Text
3. TextWragler
4. IntelliJ Idea
5. HBuilder
PHP中,数据的`foreach`循环有两种传递方式,按值传递和按引用传递。
1. 按值传递
通过数组索引修改原数组
代码示例:
PHP多服务器子域名session共享。
第一步 配置php memcache扩展
wget http://pecl.php.net/get/memcache-2.2.7.tgz
攻击模式处理方案。
方案(阿里云)
1. MySQL RDS添加只读实例,开启读写分离,平时可预留低配实例备用
2. MySQL数据库配置 wait_timeout和 interactive_timeout为 5~10,以便超时自动释放连接,避免连接数过多的问题
3. WAF CC自定义规则,设置单ip规定时长的访问限制及封禁时长,可设置2~3个阶段
4. WAF精准控制规,主要是黑白名单
CentOS7安装nginx php7 MySQL。
注意点
1. 先安装memcached
2. 需要安装gcc、zlib、zlib-devel
3. memcache扩展编辑安装完成后需要在`/etc/php.d`手工创建 `memcache.ini`
4. memcache目录下运行`./configure`需要修改php-config的路径
PHP FPM慢请求日志收集。
编辑php-fpm配置文件
vi /etc/php-fpm.d/www.conf
将 `request_slowlog_timeout`前的注释取消,并设置为需要的值,默认单位为秒。
PHP SESSION心得:
1. 单台服务器时,`session.save_handler`用`files`,不要用`memcache`,不然 `session_start` 会有1%左右的机率出现严重耗时的情况。Redis未测试,应该也没有files快。
2. 多台服务器时,session可以存储在Memcache/Redis/Mysql中
3. 并发高时,应降低session回收机率,即配置 `session.gc_divisor`
4. 在PHP环境下,默认的 `session.lazy_write = On`无需禁用。不然也会出现1中的问题。
Linux下PHP程序如何常驻内存运行?
该示例是将一个PHP脚本常驻后台执行。
新建一个shell脚本,名为`script.sh`
PHP高并发处理心得
服务器配置
1. Web: 4C8G 120GSSD
2. MySQL:2C4G
高并发处理心得
ThinkPHP5默认开启了日志的写入。
如果要彻底关闭日志,打开 `application` 目录下的 `config.php`。
找到 `log`那一块儿,可以看到