之前写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,会不会有影响,如果禁用了,那么可以减小缓存文件大小,因为不会缓存注释内容,但是可能造成程序不正常,也许有的框架依赖注释。
暂时就这些了,以后遇到别的继续补充。