Я запускаю Symfony2.1 на размещенном виртуальном сервере под управлением CentOS с cPanel. Все работает отлично, за исключением того, что я больше не могу использовать команды CLI симфонии. Я получаю это:
Fatal error: Out of memory (allocated 20185088) (tried to allocate 71 bytes)
(например, когда я пытаюсь запустить php app/console cache:clear --env=prod
или другие полезные команды Symfony).
Я использовал те же команды через CLI в течение нескольких месяцев без каких-либо проблем, пока несколько дней назад, когда эта ошибка вышла. С тех пор я не смог преодолеть эту ошибку.
Я хочу указать, что это не ошибка, связанная с PHP memory_limit (см. ниже), являющаяся ошибкой "Недостаточно памяти", а не ошибка "Выделенная память".
Точно такие же команды отлично выполняются при добавлении в задание cron (это временное обходное решение, которое я использую сейчас), что означает, что сами скрипты не должны быть обвинены.
То, что я пытался сделать до сих пор:
-
Увеличьте memory_limit в php.ini (или прямо в командной строке): как я подозревал в том, что у меня есть тип ошибки, это не имело эффекта
-
Найдите любой другой файл php.ini, который может перезаписать этот параметр для CLI: не было
-
Мониторинг использования памяти со свободным -m: имелось много доступной памяти (что ожидалось, так как команды symfony отлично запускались через задания cron)
-
Попытка найти , если WHM/cPanel может иметь, например, при обновлении, установить любое ограничение памяти для учетных записей пользователей: я обнаружил, что это может случиться, что при использовании скрытой оболочки SSH (но это не я, я использую обычную оболочку SSH), или если включена защита оболочки Fork Bomb (но нет, это отключено на моем сервере)
-
Проверка настроек ulimit на моем сервере/учетной записи с помощью ulimit -a: существуют ограничения, но они равны 256 М, тогда как ошибка "Недостаточно памяти" указала, что не более 20 млн. для доступа к PHP CLI
-
Проверка наличия каких-либо ограничений памяти в файлах .conf, особенно в /etc/security/limits.conf: не было
-
Проверка любого другого файла, который мог бы установить такое ограничение памяти: на этот раз я действительно нашел его, а именно:/usr/local/cpanel/etc/login_profile/limits.sh которые, похоже, устанавливают такой предел (ulimit -n 100 -u 35 -m 20000 -d 20000 -s 8192 -c 20000 -v unlimited 2 > /dev/null) = > Я думал, что, наконец, нашел виновника, поскольку цифры (20000), похоже, соответствуют, , но редактирование этого файла с правами root и запись в мою учетную запись через SSH, опять же, без эффекта
Мой вопрос:
У меня теперь не хватает опций. Я связался с моим хозяином, но они такие же невежественные, как я (гораздо больше, они даже не знают о Symfony). Есть ли кто-нибудь, кто испытал ту же проблему?
Если, случайно, /usr/local/cpanel/etc/login_profile/limits.sh
подобрали меня близко к ответу, что мне не хватает? Нужно ли мне перезагружать сервер или перезапускать cPanel, а не просто переходить в мою учетную запись?
На стороне примечания, это что-то, что может быть связано с обновлением WHM/cPanel (как было сказано, все отлично работало в командной строке до нескольких дней назад)?
Спасибо за любую помощь и извините за длинный вопрос.
PS: Я нашел другие подобные вопросы в Stack Overflow, но каждый из них был решен с использованием одной из вещей, которые я уже пробовал. Поэтому я предполагаю, что у меня другая проблема.