之前写php配置文件优化都是单独记录的,这次趁着折腾php8.0就完整的记录下。当然了也只是记录修改到的参数,并且是根据服务器配置和网站程序来的,并不适合全部需要。

服务器配置:1核2G,网站程序:2个Wordpress、1个mysql8.0数据库

先说常规Wordpress需要的:

memory_limit = 512M
#php脚本占用内存
post_max_size = 256M
#限制post大小
upload_max_filesize = 128M
#限制上传文件大小,就是Wordpress媒体库那个大小限制,这个尽量小于post_max_size
max_file_uploads = 20
#限制同时最多上传数量
max_execution_time = 600
#限制php最大执行时间
max_input_time = 600
#限制php最大接收数据时间,这个可以是大于max_execution_time的
max_input_vars = 5000
#限制最大表单提交,这个如果用的大型Wordpress主题,一般都要1000以上。

然后是基础的安全配置:

搜索disable_functions这段,然后删掉:system,passthru,exec,shell_exec,popen、当然这里得根据自己的网站程序来具体操作,比如DiscuzQ还需要删掉symlink。

display_errors = off 
#这个是在网页前端不显示php具体错误,开发的时候可以开启,也可以走php-fpm.conf文件来限制

如果你网站程序用不到远程地址,可以把:

allow_url_fopen = Off
#关掉

php默认的会话是保存在硬盘里面的,如果你不是SSD硬盘,可以保存在redis或者Memcached里面,我没有安装redis所以改到Memcached里面

session.save_handler = 'memcached'
session.save_path = '127.0.0.1:11211'

我这博客服务器也是ssd硬盘,不过我实际测试了速度相差不了什么,对于我这种小破站基本无感。

然后就是Opcache了,以下都是根据自身实际情况来:

[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
#给opcache分配的内存
opcache.interned_strings_buffer=16
#分配的字符串驻留内存
opcache.max_accelerated_files=100000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
#我看很多人建议关闭,但是得手动清除缓存,太麻烦,所以开启,然后用下面的时间自动检测
opcache.revalidate_freq=600
#每10分钟检查一次,对于我博客来说,感觉都有点频繁了。
;opcache.save_comments=0
opcache.fast_shutdown=1
opcache.consistency_checks=0
;opcache.optimization_level=0

单独说下这个:opcache.save_comments

我没有开启这个,因为不确定现有程序如果用了opcache,会不会有影响,如果禁用了,那么可以减小缓存文件大小,因为不会缓存注释内容,但是可能造成程序不正常,也许有的框架依赖注释。

暂时就这些了,以后遇到别的继续补充。