Я только что унаследовал сайт с PHP script, который постоянно исчерпывает память при 117 МБ. Это происходит даже тогда, когда я увеличиваю переменную PHP memory_limit до 312 МБ, что я делаю через php.ini.
Это теперь решено благодаря отличной подсказке от pcguru. См. Мой ответ ниже, который начинается: я наконец нашел ответ
ini_get('memory_limit')
возвращает значение, установленное в php.ini, поэтому я уверен, что Apache перезапустился после изменения значения. Я использую memory_get_usage(true)
, чтобы вернуть память, потребляемую script в разных точках на этом пути. И он постоянно терпит неудачу, когда он достигает 117 МБ.
Есть ли какой-то внутренний предел PHP, о котором я не знаю, он никогда не выделяет более 117 МБ для отдельного script?
Сервер имеет 1 ГБ ОЗУ и работает CentOS. У меня есть доступ к корневой оболочке. PHP - версия 5.3.18. MySQL - это версия 5.1.66-cll.
Этот script находится за именем пользователя/паролем, и я не могу предоставить ему публичный доступ.
Отредактировано для добавления:
1) Спасибо всем за вашу помощь на сегодняшний день. Вы найдете более подробную информацию в моих ответах на конкретные комментарии пользователей в различных ответах ниже.
2) Сухозин определенно не установлен. Я проверил в нескольких местах, включая запуск script и проверку на константы и запуск php -v
3) В журнале apache нет записи конкретного сообщения об ошибке, которое я получаю. Ведение журнала включено в php.ini. Я пробивал через grep, чтобы искать весь журнал.
4) Возможно ли, что в этом случае сообщается о неправильной ошибке?