今天访问网站的时候,报错Http 500错误,查看后台日志,报错PHP Fatal error,如下:
"PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 6844301 bytes) in /domains/lovesoo.org/public_html/wp-includes/wp-db.phponline 1036"

看起来是内存分配失败导致的网站无法访问,百度搜索得到的几种解决方法:

看起来是内存分配失败导致的网站无法访问,百度搜索得到的几种解决方法:

1. 在 .htaccess 文件中添加

php_value memory_limit 256M

2. 在wp-config.php 文件中添加(测试可行)

define ('WP_MEMORY_LIMIT', '256M' );

3.打开wp-settings.php,编辑这个文件,

修改define('WP_MEMORY_LIMIT', '32M');
为define('WP_MEMORY_LIMIT', '256M');

4. 在目录中添加一个 php.ini 文件,写入

memory_limit=256M

如果使用的是宝塔面板,宝塔配置方法:

memory_limit 256M 脚本内存限制


可是尝试之后,网站仍然报错无法正常访问!
那我们看下报错的 wp-db.php文件1036行(如下),这主要负责的是英文转换成其他语言然后在后台管理界面中显示翻译后的内容。所以本次报错其实是由于,后台管理页面英文转中文时内存分配不足导致。

1return mysql_real_escape_string( $string, $this->dbh );

最终解决方案如下:

1. 登录ftp,将wp-content/ 下的文件删除,此时网站可以正常访问(后台管理页面是英文)
2. 如果还是无法访问,将wp-content/plugins目录改名,禁用所有的插件来减少占用
最后我把wordpress从4.1版本降级到了相对稳定的4.0版本,后台是中文也可正常访问。