PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
(tried to allocate 32768 bytes) in
/vendor/symfony/debug/Exception/FatalErrorException.php on line 1 PHP Stack trace:
我遇到了以下错误,但在try catch块中没有拦截到。
use \Exception as Exception;
try {
$this->recursiveCall();
} catch (ErrorException $ex) {
exit;
}catch (Exception $ex) {
exit;
}
如果在php.ini中提高到memory_limit = 512M
可以正常工作,但令我困扰的是未处理错误。
我读到您可以编写自己的php错误回调,但是恐怕Laravel错误处理可能取决于此。
任何想法如何处理该问题? 10x
答案 0 :(得分:4)
捕获对于致命错误不起作用。您可以对异常使用try-catch,但是致命错误实际上会“破坏”您的程序,您不能简单地捕获它们,必须解决它们。并不是说异常警告不应该解决,但它们并不像致命错误那么重要。
我看到的解决方案是优化查询(也许增加限制可能会有所帮助),或者按照您的建议增加内存大小。
此错误通常是由于“数据处理过多”所致,因此您可以缩小数据范围以使脚本运行得更快,或者增加限制。