【问题标题】:Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) Laravel允许的内存大小 134217728 字节用尽(试图分配 20480 字节) Laravel
【发布时间】:2018-12-11 14:53:26
【问题描述】:

我对 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

在系统恢复之前,项目执行的很好!!

【问题讨论】:

  • 这意味着您还需要更新您的 php.ini memory_limit 指令。尝试输入您的 php.ini:memory_limit=1024M。请测试
  • 我做了一些修改,但是没有用!!!
  • 修改后重启apache再测试
  • 耶。非常感谢

标签: php laravel laravel-5


【解决方案1】:
php -d memory_limit=1024M artisan serv

如果您不想更改全局 php.ini 设置或者您无权更改它。那么这个变通方法将有助于完成任务。

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

【讨论】:

    【解决方案2】:

    当应用程序使用的内存超出 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');
    

    【讨论】:

      【解决方案3】:

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

      尝试放入你的 php.ini :

      memory_limit=1024M 并重启 apache

      sudo systemctl restart httpd.service

      【讨论】:

        【解决方案4】:

        更改php.ini 中的apache2 文件夹

        memory_limit=1024M
        
        restart apache2
        

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

        php -i | grep "php.ini"
        

        【讨论】:

        • 谢谢。以下路径中没有这样的文件:/opt/lampp/apache2
        • 检查这里/etc/php/5.6/apache2/php.ini
        猜你喜欢
        • 2016-04-18
        • 2013-08-09
        • 2021-12-29
        • 2017-07-23
        • 2018-02-23
        • 2014-11-20
        • 2017-10-30
        • 1970-01-01
        • 2017-08-11
        相关资源
        最近更新 更多