PHP 执行时如果出现 Allowed memory size of xxxxxx bytes exhausted 错误, 即执行 PHP 时使用过多内存, 起出了 php.ini 设定的限制, 解决方法是修改 php.ini 的 memory_limit 参数, 如果是 Redhat / CentOS / Fedora 用 yum 或 rpm 安装 PHP, php.ini 位置在 /etc/php.ini, 而 Debian 是放在 /etc/php5/apache2/php.ini。如果找不到的话, 可以用 phpinfo() 查看, 或者用以下指令取得:
php -i | grep Loaded Configuration File
以我的设定为例, 原本是:
memory_limit = 128M
上面的限制 PHP Script 执行时可用 128MB 内存, 将它加大为 256MB 这样写:
but 我已经设成最大的 128MB 了, 又不想从程式面改…
memory_limit = 256M
需要重新启动 Apache 才会生效。但如果不能修改 php.ini 设定的话, 可以在 PHP 开头部份加上这行:
ini_set(‘memory_limit’, ‘256M’);