по некоторым причинам, мой из моих сценариев PHP игнорируют предел памяти php.ini или ini_set.
Когда я делаю print_r (ini_get_all), он показывает предельный набор глобальной памяти 100M (и локальный в этом отношении), когда мой сценарий умирает в Фатальной ошибке: Из памяти (выделил 24714304) (пытался выделить 571 байт),
Какие-либо подсказки относительно диагностирования этого? Сервер имеет 8gigs памяти и никогда не имел проблемы при выполнении этого сценария прежде.
Какие-либо подсказки относительно отладки этого?
Спасибо!
Самой распространенной причиной этого является то, что обычно бинарный файл CLI PHP использует другой php.ini файл, чем вы ожидаете. Это может быть вызвано разрешениями пользователя , или просто другими файлами php.ini по умолчанию для установленных версий PHP. Однако, похоже, что вы немного профилировали его, и ваш лимит памяти может быть корректным внутри вашего скрипта.
В таком случае, вполне возможно, что существует жесткий лимит памяти на процессы, накладываемый вашей операционной системой, и в этом случае вам придется выяснить, откуда это наложение.
Я предлагаю взглянуть на этот поток, так как этот постер прошел через что-то очень похожее на вашу ситуацию.
.Виртуальная память для моих процессов была жестко ограничена (слишком малое число).
Из оболочки bash я сделал следующее:
ulimit -v (memory_in_bytes, без скобок)
это исправило мою проблему. god i love stackoverflow
короткий и сладкий
ini_set('memory_limit', -1);
на случай, если вы захотите пропустить отладку
.