在我的php脚本中使用curl的某个时刻,出现以下错误:“致命错误:允许的内存大小为262144字节耗尽(试图) 分配77824个字节)“......它指出了脚本的这一部分:”$ s = curl_exec($ c);“
有什么问题?以及如何解决它?
答案 0 :(得分:8)
在这种情况下,您的服务器配置错误。
允许的内存大小为262144字节
对于大多数PHP脚本来说,每个脚本200 KB的RAM是不够的。我的经验标准是最低8 MB; 16 MB是正常的。像WordPress这样的博客系统(它确实很胖,但仍然是最受欢迎的博客系统之一)在8 MB上窒息而且在16位中途运行得很好。
您应该更改php.ini中的memory_limit
值。如果您在共享主机上,请求提供商将其增加到至少8M,更好的16M或更多。如果他们否认,请离开那里:这是不合标准的托管。
答案 1 :(得分:5)
你想要分配比堆可以处理的内存更多的内存
为xample
设置更高的限制位于脚本顶部::
ini_set("memory_limit","10M");
或在你的php.ini
中memory_limit = 10M
这将你的memory_limit设置为10M
答案 2 :(得分:1)
ini_set()
可能比在php.ini
中设置内容更好。如果您有一个特定的应用程序,知道需要的不仅仅是标准内存 - 那么可以增加该应用程序的内存限制。您需要非常小心地打开所有代码以获得更高的内存限制。
也就是说,如果将memory_limit
设置为0,则没有内存限制&该脚本将使用尽可能多的内存(系统可以提供)。
答案 3 :(得分:0)
以下是一些建议:
修改您的php.ini
文件并更改显示memory_limit = .25M
的行,以便显示
memory_limit = 16M
确保您正在致电
curl_close($c);
一致。
如果您想要包含更大的代码段,也许我们可以看到您有内存泄漏的位置。