Laravel 报告内存大小 268MB 耗尽但 php.ini 说 512MB
Posted
技术标签:
【中文标题】Laravel 报告内存大小 268MB 耗尽但 php.ini 说 512MB【英文标题】:Laravel reporting memory size 268MB exhausted but php.ini says 512MB 【发布时间】:2018-02-01 04:42:51 【问题描述】:Laravel 作业侦听器正在运行超过 10 万条记录,并给出错误
php Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 1179648 bytes) in .../vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php on line 184
[Symfony\Component\Debug\Exception\FatalErrorException]
Allowed memory size of 268435456 bytes exhausted (tried to allocate 1179648 bytes)
我已经使用 phpinfo()
证明了 memory_limit = 512M
,所以我不知道当 512 > 268 时会发生什么:) - 还有 belongsTo
关系与它有什么关系?
【问题讨论】:
Allowed memory size of 536870912 bytes exhausted in Laravel的可能重复 【参考方案1】:您提到 Laravel 作业侦听器,这让我假设您通过命令行运行它。 php.ini
用于命令行执行可能与 Web 服务器加载的内容不同。请确保memory_limit
值对于两个php.ini
相同。要从 shell(假设是 Linux)中找到命令行的 php.ini
,请运行
$ php -i | grep php\.ini
【讨论】:
看来这可能是欺骗我的答案 - 我在 /etc/ 找到了命令行 php.ini,所以如果我改变它,我只需要重新加载 php 吗?还是整个服务器? 哦,因为它是作业监听器——我只需要重新启动监听器就可以让 php.ini 生效? AFAIK,php.ini
每次通过命令行运行 php 时都会被读取。是的。您需要重新启动作业侦听器。以上是关于Laravel 报告内存大小 268MB 耗尽但 php.ini 说 512MB的主要内容,如果未能解决你的问题,请参考以下文章