我是系统管理员,负责处理托管使用Laravel 5创建的内部API的服务器。数据源是托管在另一台服务器上的SQL Server,api用于移动电话的IOS应用程序。当开发人员创建api时,此错误不存在,并且未发现其他内存错误。当我们上线时,这个错误不时出现。
[2015-06-01 23:01:52] production.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Out of memory (allocated 262144) (tried to allocate 140189808036120 bytes)' in Unknown:0
我检查了服务器的RAM,CPU,交换等,但一切都很好。没有太多的资源被消耗掉。我已经从php.ini检查了PHP内存限制,并设置为-1,这是根据PHP的最大值。我已经在CLI,phpinfo.php和httpd.conf上检查了它。我没有看到任何错误。该团队尝试关注此链接Allowed memory size of X bytes exhausted
这是ios应用程序中的问题,因为应用程序搜索正确的返回代码,但是当出现此错误时,即使ios app事务正确,它也会返回错误,因为返回代码不正确,因为它返回内存错误的代码。
答案 0 :(得分:-1)
我能想到的第一件事就是重启Apache httpd服务。这立即解决了这个问题。但我知道这不是解决问题的永久性方法。当我进一步研究时,我知道当某些PHP脚本需要比默认允许的PHP更多的内存时会出现错误。
所以解决方案是增加为PHP分配的内存。怎么做?有4种可能的方法 -
在TextPad(不在记事本中)的文本编辑器中打开php.ini文件,并更改memory_limit的值。默认情况下,您应该看到memory_limit = 8M。尝试将其更改为12M。如果它不起作用,请将其增加到16M甚至24M,依此类推。
如果您找不到php.ini文件或无法访问它,请打开抛出错误的文件(在我的情况下是admin.php)并在下面添加一行在ini_set之后('memory_limit','12M');
您甚至可以考虑在.htaccess文件中添加一行来解决问题。 php_value memory_limit 32M
或者,尝试将此行添加到您的php文件中: 增加分配给PHP的内存 的ini_set(“memory_limit的”,” 16M“);