常见配置
#默认是PHPSESSID
#如果不想暴露后端是什么类型语言的话,可以设置一下
session.name = SESSIONID
#不设缓冲区,使脚本不需要等待全部执行完,就可以输出
output_buffering=0
#压缩后输出,开启压缩后会增加cpu的消耗
zlib.output_compression = On
zlib.output_compression_level = 3
zlib.output_handler = "" #为空或该项注释掉
#自动刷新缓冲区
#等同于在每次使用 print、echo 等函数或每个 HTML 块之后,调用 PHP 中的 flush() 函数。
implicit_flush = On
#内存限制
memory_limit = 2G
#脚本最长执行时间,0为无限制
max_execution_time = 1800
# 很显然,默认错误日志的长度限制已经不符合这个廉价存储的时代了
#不过,好像也很少有错误日志这么大的
log_errors_max_len = 65535
#这个可以根据业务场景设置,太大了也不好,万一中断还需要再重新传
#最好是分块,每块不超过限制,断了还可以续传
post_max_size = 100M
#同上
upload_max_filesize = 200M
#单次请求最大上传文件数
max_file_uploads = 20
#磁盘够用的话就开大点
pdo_mysql.cache_size = 4000
#线上环境session可以存的久一些
session.cache_expire = 3600
[opcache]
#cgi模式
opcache.enable=1
#cli模式
opcache.enable_cli=0
#单位megabytes,内存够多的话就多开些
opcache.memory_consumption=512
#字符串驻留,可以让所有进程共享字符串的内存地址
opcache.interned_strings_buffer=8
#设置最多可以缓冲多少个php文件,最好比所有的php文件总和数要多
opcache.max_accelerated_files=1000000
# 更新的时间周期, 默认为 2, 单位为秒
opcache.revalidate_freq=60
#在php代码有较大版本更替的时候,可以在生产环境设置为0,设置后需重启php新代码才生效
opcache.validate_timestamps=0
PHP常禁的funtion
vim php.ini
#search disable_functions config
- passthru
- exec
- system
- chroot
- scandir(tp5中会用到)
- chgrp
- shell_exec
- proc_open
- proc_get_status
- popen
- ini_alter
- ini_restore
- dl
- openlog
- syslog
- readlink
- symlink
- popepassthru
- stream_socket_server
参考博文:
php手册
zend opcache的最佳设置
使用 OpCache 提升 PHP 5.5+ 程序性能