WordPress是一个基于PHP的网站内容管理系统,很多新手在使用时没有对PHP的默认配置进行优化修改,导致WordPress性能低下或偶尔发生一些故障。例如,在线升级WP版本失败、更新主题或插件失败、导入导出备份发生错误或导入高级主题模板失败等问题。
随着WordPress的不断发展,其对PHP内存配置需求也发生了变化。在PHP 7.x – 8.2中,PHP允许脚本分配的最大内存量默认为128M(memory_limit)。如果使用默认主题或轻量化主题,且安装了很少的功能插件,该值是够用的。但是,当使用功能较复杂的主题或插件时,建议将memory_limit修改为256M。在php.ini配置文件中应改成:memory_limit = 256M。需要注意的是,不建议将memory_limit的值设置为-1(无限制),否则一些写得不好的脚本程序会吃掉服务器上所有可用的内存。
PHP超时限制是为了防止不好的脚本占尽服务器资源而设置的。默认值为max_execution_time = 30,这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。如果某个PHP程序超过了该限制值,不论程序是否执行完毕都会被强制销毁资源。当WordPress正在执行较大的数据导入或处理较多数据时需要的时间较长,因此会被强行中断报错。推荐将max_execution_time常规值为120,当需要进行大量数据处理时临时调整为300或更大值。另外,还需要相应调整max_input_time参数。这是脚本解析输入数据(类似POST和GET)允许的最大时间,单位是秒。如果该值太低,当在线更新WordPress程序、主题与插件或在线导入导出数据(模板)时,会因网络延迟的原因导致执行失败。在php.ini配置文件中应改成:
max_execution_time = 120或max_execution_time = 300,max_input_time = -1。max_input_time = -1意味着使用max_execution_time的值作为默认值。
PHP上传限制是指影响WordPress媒体库或上传安装主题与插件的上传文件的限制。post_max_size、upload_max_filesize、max_file_uploads这三个参数的值均影响上传限制,它们分别代表:POST数据最大尺寸、允许上传文件的最大尺寸、允许同时上传文件的最大数量。
在php.ini配置文件中推荐改成:
post_max_size = 128M,upload_max_filesize = 128M,max_file_uploads = 20或根据实际需要修改相应的值。
最后,在选择PHP版本时可以参考WordPress各版本与PHP版本的兼容情况一览表。