Второй проект laravel (v5.4) Неустранимая ошибка PHP: допустимый объем памяти 134217728 байт исчерпан (попытался выделить 262144 байт)

это мой второй проект Laravel, работающий на той же машине. первый работает просто отлично.

Я использую xampp для своих проектов.

после установки другой свежей новой версии (5.4) laravel, когда я запускаю

ремесленная подача

phpstorm скажи мне

Неустранимая ошибка PHP: допустимый объем памяти 134217728 байт исчерпан (попытка выделить 262144 байт) в E: \ xampp \ htdocs ***** \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php в строке 549

Неустранимая ошибка: допустимый объем памяти 134217728 байт исчерпан (попытался
выделить 262144 байт) в
E: \ XAMPP \ HTDOCS ***** \ поставщика \ Laravel \ рамки \ SRC \ Осветите \ Контейнер \ Container.php
по линии 549

Процесс завершен с кодом выхода 255 в 13:58:28.
Время выполнения: 4976 мс

Я старался другой пост об этом и пытался изменить php.ini. Это не относится к моему делу.

1

Решение

Это не похоже на проблему с настройкой сервера. Это проблема установки Laravel. Увеличение memory_limit в php.ini не решит проблему в вашем случае. Laravel обычно выдает бесполезные ошибки, если не настроен правильно.

После запуска composer, убедитесь, что перед тем как запустить php artisan serve что вы сделали следующее.

  1. Корень указывает на /public папка
  2. Запустите установку композитора. Возможно, вам не хватает некоторых папок продавца
  3. Разрешения /storage являются 777, /storage/logs/laravel.log <- здесь вы найдете свою настоящую ошибку.
  4. Убедитесь, что создали .env ака копия .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','')
],
-3

Другие решения

В вашем коде должна быть какая-то ошибка — например, круговая ссылка или другая ошибка. призвание php artisan serve конечно, не следует использовать оперативную память более 130 МБ.

Исправьте ошибку и попробуйте снова … php artisan serve следует использовать максимум, скажем, 20 Мб?

Если вы действительно хотите запустить код, попробуйте php -d memory_limit=500M artisan serve что увеличит размер памяти, доступной php для этого конкретного процесса.

0

Можете ли вы объяснить немного больше о чем ваш проект?

Я спрашиваю, потому что эта ошибка напрямую связана с тем, что один PHP-скрипт пытается загрузить в память, то есть с загрузкой модели или файла, и результирующий объект будет использовать больше памяти, чем разрешено для каждого скрипта под php.ini конфигурации.

Глядя на ошибку, ваш php.ini установлено максимальное использование памяти сценариев 128 МБ (134217728 байт / 1024 КБ / 1024 МБ), и все, что загружается, пытается загрузить дополнительные 256 КБ.

Я бы порекомендовал две вещи

  1. Проверьте свои php.ini подтвердить ограничения памяти (memory_limit = ?)
  2. Предоставьте полную трассировку стека, чтобы мы могли помочь вам в диагностике (Я предполагаю, что контейнер пытается загрузить модель из БД, и размер данных достаточно велик, что при загрузке он превышает установленный предел)
0

Возможно, вы захотите проверить свою конфигурацию Laravel и убедиться, что все файлы конфигурации (внутри config/ каталог) действительны PHP.

У меня была эта проблема, когда мой config/app.php в файле отсутствовал,между двумя элементами массива.

0
По вопросам рекламы [email protected]