Запуск Yii2 из консоли и ошибка Allowed memory size of xxx bytes exhausted
Сегодня при запуске команды yii из консоли получил сообщение о том, что скрипту не хватает памяти. Само большое потребление памяти данной командой не стало для меня новостью, т.к. внутри выполнялось чтение и обработка большого файла. Т.е. нужно было на время выполнения скрипта, просто увеличить лимит..
Если Вы откроете файл ./yii с помощью которого стартуют консольные контроллеры в Yii, Вы обнаружете что это обычный php скрипт, с той лишь разницей, что он сделан исполняемым и в нем прописан путь к PHP интерпретатору. Раз это обычный php скрипт, то мы можем его запускать не только таким образом
1 2 3 |
./yii controller/action <params> |
а так же как и обычный не исполняемый php скрипт
1 2 3 |
php ./yii controller/action <params> |
а раз мы можем указать транслятор (т.е. команду php), то можем и указать ему параметры, например, для того чтобы увеличить лимит памяти, делается это вот так
1 2 3 |
php -d memory_limit=512M ./yii controller/action <params> |
После того, как я увеличил лимит до 1G файл успешно обработался
Author: | Tags: /
| Rating:
Leave a Reply