在网站维护过程中,常常会遇见502或者504的错误。在wordpress网站中通常是php的运行内存限制。一个服务器安装的php默认内存是128M,所以请求的内存占用超过128M就会出现502或者504错误。
解决办法:
一.从php配置文件入手
1)、如果您有修改php.ini权限并且知道怎么修改和重启php,您可以直接修改php.ini 中的memory_limit的值,然后重启生效。下面是宝塔的修改方法,保存后要选择服务重启才会生效。
2)、如果您没有权限修改,或者不会修改也可以联系主机服务商,或者提交工单,服务人员或者托管人员会很乐意给您修改。
3)、如果用的是原生linux系统,没有安装宝塔,可以通过xshell链接服务器,找到php.ini文件,打开->找到memory_limit进行修改,然后通过如下命令重启php
sudo service php7.0-fpm restart #重启php服务
sudo systemctl restart php7.0-fpm.service #重启php服务
缺点是:修改的是全局的php配置,如果服务器上有多个网站,配置大了,同时占用可能会导致服务器中网站速度变慢
二.wordpress网站全局配置修改
、在wordpress 根目录找到wp-config.php文件加入
define('WP_MEMORY_LIMIT','512M');或者ini_set('memory_limit','512M');
2)、修改网站的.htaccess文件,加入define('WP_MEMORY_LIMIT','512M');
3)、在wordpress根目录找到wp-includes目录,打开找到default-constants.php,修改如下图的值即可
缺点是:网站全局配置如果网站中有大批量的访问也会导致网站打开速度变慢
三.在请求/操作中限制内存
如下图,仅仅是一个数据的删除,我可以设置占用内存是10M
如下图,是给wordpress批量添加标签我可以设置占用内存1000M
缺点是:需要测试每一个请求/操作中占用内存的最大值,这是一个繁琐且复杂的过程。