Laravel允许的内存大小为134217728字节(已尝试分配20480字节)

Mos*_*ade 7 laravel laravel-5

我对Laravel有问题。重新启动系统后,我的项目将无法运行!

我使用php artisan serv,但控制台中有以下消息:

[Tue Jul  3 14:31:35 2018] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /laravel-projects/blog/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php on line 122


[Tue Jul  3 14:31:35 2018] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /laravel-projects/blog/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php on line 46


[Tue Jul  3 14:31:38 2018] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /laravel-projects/blog/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php on line 122


[Tue Jul  3 14:31:39 2018] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /laravel-projects/blog/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php on line 46


[Tue Jul  3 14:31:39 2018] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /laravel-projects/blog/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php on line 122
Run Code Online (Sandbox Code Playgroud)

在恢复系统之前,该项目已得到很好的实施!

Ali*_*abi 12

这意味着您还需要更新php.ini memory_limit指令。

尝试放入您的php.ini中:

memory_limit = 1024M并重新启动apache

sudo systemctl restart httpd.service


tvs*_*s89 12

当应用程序使用的内存超过 PHP 允许的内存时,就会出现此问题。这要归功于 PHP 相对保守的默认内存设置。您可以通过更改 php.ini 中的 memory_limit 大小来解决此问题

memory_limit= 替换您的大小(1024M /2048M/etc) 更改并保存,然后重新启动服务。

  • 在 Windows 中,您可以找到“C:\wamp64\bin\php\php_version\php.ini”,然后重新启动服务。

  • 在Ubuntu中,您可以找到“/etc/php/php_version/apache2/php.ini”,然后运行 sudo systemctl restart apache2以重新启动apache。

您可以在进程耗尽内存之前,在代码的早期以编程方式简单地增加内存限制。如果您这样做,则仅当调用该代码段时才可以为 PHP 提供额外的内存,而不是增加所有 PHP 进程的内存限制。

ini_set('memory_limit', '1024M');
Run Code Online (Sandbox Code Playgroud)


小智 7

变化php.ini是有内部apache2的文件夹

memory_limit=1024M

restart apache2
Run Code Online (Sandbox Code Playgroud)

您甚至可以通过以下方式检查正在使用哪个php ini配置:

php -i | grep "php.ini"
Run Code Online (Sandbox Code Playgroud)


小智 6

php -d memory_limit=1024M artisan serv
Run Code Online (Sandbox Code Playgroud)

如果您不想更改全局 php.ini 设置或者您无权更改它。然后这个解决方法将有助于完成工作。

确保您使用正确的 php 版本,因为有时 php-cli 可能设置为其他版本,这可能会导致其他问题。