1

这是我在同一台机器上运行的第二个 laravel 项目。第一个工作得很好。

我在项目中使用 xampp。

在我安装另一个新版本(5.4)laravel之后,当我运行时

工匠服务

phpstorm 告诉我

PHP 致命错误:E:\xampp\htdocs*****\vendor\laravel\framework\src\Illuminate\Container\Container.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 262144 字节),第 549 行

致命错误:第 549 行 E:\xampp\htdocs*****\vendor\laravel\framework\src\Illuminate\Container\Container.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 262144 字节)

进程在 13:58:28 以退出代码 255 结束。执行时间:4,976 毫秒。

我尝试了有关此的其他帖子,并尝试更改 php.ini。它不适用于我的情况。

4

4 回答 4

0

您的代码中一定有某种错误——例如循环引用或其他错误。调用php artisan serve当然不应该使用 130+ MB 内存。

修复错误并重试... php artisan serve 应该使用最大 20mb 的空间?

如果您真的想运行代码,请尝试php -d memory_limit=500M artisan serve增加该特定进程的 php 可用内存。

于 2017-03-14T19:31:13.363 回答
0

你能解释一下你的项目是关于什么的吗?

我问是因为该错误与单个 PHP 脚本试图在内存中加载的内容直接相关,即:加载模型或文件,并且生成的对象将使用超过php.ini配置下每个脚本允许的内存。

查看错误,您php.ini设置的最大脚本内存使用量为 128Mb(134217728 字节/1024 Kb /1024 Mb),并且正在加载的任何内容都试图加载额外的 256Kb。

我推荐两件事

  1. 检查您php.ini以确认您的内存限制 ( memory_limit = ?)
  2. 提供完整的堆栈跟踪,以便我们帮助您诊断(我猜容器正在尝试从 DB 加载模型,并且数据大小非常大,加载时超过了限制
于 2017-03-14T19:36:16.607 回答
0

你可能想检查你的 Laravel 配置,并确保所有配置文件(在config/目录中)都是有效的 PHP。

当我的文件在两个数组项之间config/app.php缺少“ ”时,我遇到了这个问题。,

于 2019-01-23T04:39:59.847 回答
-1

这听起来不像是服务器设置问题。这是一个 Laravel 设置问题。在 php.ini 中增加 memory_limit 不会解决您的问题。如果设置不正确,Laravel 通常会抛出无用的错误。

运行 composer 后,请确保在尝试运行之前php artisan serve已完成以下操作。

  1. 根指向/public文件夹
  2. 运行作曲家安装。您可能缺少一些供应商文件夹
  3. 的权限/storage777/storage/logs/laravel.log<- 在这里你会发现你真正的错误。
  4. 确保创建.envaka 副本.env.example
  5. 生成密钥php artisan key:generate

还要注意在文件中创建变量时不要有任何空格,.env这也会导致问题。

  • 坏的DB_DATABASE=my database name
  • 好的DB_DATABASE=my_database_name

最后,如果您正在运行 MAMP 之类的东西,您可能必须UNIX_SOCKET在 .env 文件中包含一个变量,如下所示:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name_here
DB_USERNAME=root
DB_PASSWORD=root
UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

并在 /config/database.php 文件中创建变量

'mysql' => [
    'driver' => 'mysql',
    ...
    'engine' => null,
    'unix_socket'   => env('UNIX_SOCKET','')
],
于 2017-03-14T22:10:18.807 回答