«php --help» приводит к ошибке «PHP исчерпана память» в Ubuntu - PullRequest
4 голосов
/ 15 января 2011

Неустранимая ошибка PHP: исчерпан допустимый объем памяти 262144 байта (попытка выделить 523800 байтов) в поле «Неизвестно» в строке 0

То же самое происходит с "php5 --help"

Я уже исследовал это и прочитал, что я должен: 1) увеличить лимит памяти в php.ini - он составляет 128 МБ во всех случаях php.ini - должно быть достаточно для запуска php cli help 2) сделать скрипт более эффективным в использовании памяти - очевидно, не относится к --help

Пожалуйста, помогите, если можете?

Ответы [ 6 ]

12 голосов
/ 19 апреля 2011

Проверьте файл php.ini для PHP CLI (/etc/php5/cli/php.ini).

Убедитесь, что в объявлении memory_limit установлены единицы измерения:

memory_limit = 32M

не

memory_limit = 32

Это исправлено для меня . Я надеюсь, что это работает и для вас.

2 голосов
/ 15 января 2011

Я предполагаю, что вы недавно установили Linux.Я использую Ubuntu, но любой дистрибутив Debian, подобный дистрибутиву Linux, будет аналогичным, и другой дистрибутив также не будет иметь больших различий.

В / etc / php5 / у меня есть следующие каталоги конфигурации:

root@delphic:/etc/php5# ls -la
total 20
drwxr-xr-x  5 root root 4096 2011-01-15 00:52 .
drwxr-xr-x 92 root root 4096 2011-01-15 00:51 ..
drwxr-xr-x  2 root root 4096 2011-01-05 10:55 apache2
drwxr-xr-x  2 root root 4096 2011-01-15 00:52 cli
drwxr-xr-x  2 root root 4096 2011-01-15 00:51 conf.d
root@delphic:/etc/php5# cd cli
root@delphic:/etc/php5/cli# ls -al
total 76
drwxr-xr-x 2 root root  4096 2011-01-15 00:52 .
drwxr-xr-x 5 root root  4096 2011-01-15 00:52 ..
lrwxrwxrwx 1 root root     9 2011-01-15 00:52 conf.d -> ../conf.d
-rw-r--r-- 1 root root 67457 2011-01-12 19:51 php.ini 
root@delphic:/etc/php5/cli# grep memory php.ini 
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = -1

Вы уверены, что также изменили лимит памяти CLI?

Если вы пользуетесь услугами общего хостинга, вам придется обратиться за помощью в службу поддержки по изменению лимитов или получить их.узнайте, почему php потребляет так много памяти даже в командной строке.

1 голос
/ 15 сентября 2012

Значение в моем файле php.ini было 1024 МБ, и я все еще получал ошибку.То, что я сделал, чтобы исправить, изменило его на 1024M, странно, как в тексте примера сказано 128MB

1 голос
/ 27 марта 2012

Как странно, что в инструкциях ini сказано использовать MB, но это не сработало для меня, стандартная установка apt-get, только другой бит, который я добавил, был APC. Я не мог понять, что может быть не так, к счастью, некоторые комментарии выше предложили просто использовать M

Похоже на ошибку IMO, особенно с учетом инструкций на ini.

Ини говорит это // Максимальный объем памяти, который может занять скрипт (128MB)

Но только у меня это сработало: / 228м

1 голос
/ 15 января 2011

Текст

Допустимый объем памяти 262144

Предполагается, что PHP не считает, что ограничение памяти составляет 128 МБ.Возможно, вы пропустили какой-нибудь файл php.ini?Не могли бы вы опубликовать свой php.ini онлайн?

0 голосов
/ 15 января 2011

Можете ли вы запустить php -i, чтобы получить информацию о PHP?Возможно, вы не загружаете ожидаемый файл php.ini, а ограничение памяти намного ниже.Хотя действительно странно, что PHP CLI будет использовать PHP для вывода справки по CLI.

Обновление Вы, вероятно, тоже не можете запустить php -i, но php --ini может помочьхотя бы показывать, какой (если есть) INI-файл используется.

...