使用 cPanel 安装过 WordPress 的不少朋友应该都有过类似经历,访问 WordPress 出现如下错误提示:Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate xxx bytes) 。有的是访问网站出现,有的是访问后台时出现,还有的是登入后台后在 dashboard 里面看到的。这个提示是说,我们正在进行的操作需要这 么多的内存,但现在站群服务器分配的内存不足。正常情况下,修改下虚拟 WordPress 主机的预设配置就可以了,下面和大家分享下解决的方法:
1. 修改虚拟 WordPress 主机的内存大小限制
到你的网站根目录下,建立一个 php.ini 档案,写入下面这句:memory_limit = 64M,之后可以通过 phpinfo 函式来检视 memory_limit 是否已经变成 64M 。方法为新建一个 php 档案,可以命名成 info.php, 在其中写入 phpinfo() 函式,储存后访问此档案检视站群服务器的 php 配置。如果发现修改之后没有生效,可以试下在网站根目录的.htaccess 档案 中写入:suPHP_ConfigPath /home/cpusername/public_html(这是针对 suphp 环境的 Linux 站群服务器, 目录可以具体到网站所在的具体目录,预设情况 下,网站程式一般是放在 public_html 下的),这个设定是为了告诉 mod_suphp 向哪些路径传递 php 直译器(有时候可能还需要 在.htaccess 中设定 PHPRC 环境变数,如 SetEnv PHPRC /home/cpusername/public_html)。
2. 修改 WP 配置档案。
这个比较简单,编辑 wp-config.php 这个配置档案,加上一句:define(‘WP_MEMORY_LIMIT’, ’64M’); 其中 64M 可以写得更大,比如 128M 。一般 64M 肯定够用了。
如此,一般就可以解决这种错误提示了。解决之后还有部分朋友访问网站可能会出现:Warning: Cannot modify header information – headers already sent by (output started at /home/cpusername/public_html/wp-settings.php:327) in /home/cpusername/public_html/wp-admin/install.php on line 54 类似的错误,不要紧,在 php.ini 中写上 output_buffering=4096 即可解决。