即使在调整 php.ini 后,允许的 *** 字节内存大小也会耗尽
Posted
技术标签:
【中文标题】即使在调整 php.ini 后,允许的 *** 字节内存大小也会耗尽【英文标题】:Allowed memory size of *** bytes exhausted even after adjusting php.ini 【发布时间】:2018-01-31 01:42:13 【问题描述】:突然这一行
$data_to_send = @file_get_contents($source);
给我一个错误
"error":"type":"Symfony\Component\Debug\Exception\FatalErrorException","message":"允许的内存大小为 536870912 字节已用尽(尝试分配 353912831 字节)","file": "/home/forge/biossantibodies.com/app/commands/FileName.php","line":157
升级虚拟机资源
我已经将我的 Linode VM 升级到此计划,但仍未看到错误。
更新 PHP.ini
我检查了我的 php.ini,并已更新为
cat php.ini | grep _max
log_errors_max_len = 1024
post_max_size = 2000M
upload_max_filesize = 2000M
session.gc_maxlifetime = 1440
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
重启php-fpm服务
如您所见,我已经将内存允许增加到2000M
。
我也重启了我的 php-fpm
service php5-fpm restart
phpinfo()
我的更改似乎得到了体现。重启整个虚拟机
我什至尝试重新启动整个虚拟机。
我还是遇到同样的问题,是不是改错文件了?
如何仔细检查?
【问题讨论】:
调试:添加一个echo
,它将输出$source
并在该行之前设置文件大小,看看它会出现什么。
现在让我这样做,我会更新帖子。
@KIKOSoftware:我得到的文件大小是:345620
在这里查看:dropbox.com/s/ml2idhm33mw0x5o/…
fire()
只被调用一次吗?通常,当您耗尽内存时,您会陷入某种循环。
【参考方案1】:
“允许的内存大小536870912字节已用尽(尝试分配353912831字节)”
这意味着您还需要更新 php.ini memory_limit 指令。
尝试放入你的 php.ini:
memory_limit=1024M
【讨论】:
好点,我将我的从 1024M 更新到 4096M。用 phpinfo() 正确显示测试它,然后重新尝试仍然发生。 可能值得与托管公司核实您对它们的内存限制。如果他们将您限制在一定数量,那么您将 php.ini 更改为什么都没关系。 见this question。您应该尝试重新启动 nginx/apache。以上是关于即使在调整 php.ini 后,允许的 *** 字节内存大小也会耗尽的主要内容,如果未能解决你的问题,请参考以下文章