在我的本地主机上,相关过程正常。它基本上是一大堆数字运算。
但是在我的服务器上(CentOS 5.9 + PHP 5 + MySQL 5)它给了我这个错误:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 80 bytes) in {..}/system/database/drivers/mysql/mysql_result.php on line 147
在运行此功能之前,我已经声明了以下内容:
ini_set('memory_limit', '-1');
系统本身有8 GB的内存。我的本地机器有12 GB的内存。我怀疑它需要那么多记忆。
任何见解都将不胜感激。提前谢谢!
答案 0 :(得分:2)
PHP在每个运行的系统上都有一个全局内存限制,它会覆盖程序自己的memory_limit设置。
memory_limit
value in a file called php.ini
.共享托管服务提供商经常将此设置为32M。这似乎是你的问题。如果您控制服务器,您可以将其设置得更大。
否则,您需要重新编写程序以减少内存使用。 (这是从开发移动到生产时,伤心地说很常见的问题。)
如果您不知道该文件的位置,请查看该文件的一些建议。