Codeigniter: допустимый объем памяти 33554432 байта исчерпан (уже используется ini_set (‘memory_limit’, ‘-1’);)

На моем локальном хосте рассматриваемый процесс работает нормально. Это в основном много хруста числа.

Но на моем сервере (CentOS 5.9 + PHP 5 + MySQL 5) выдает эту ошибку:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 80 bytes) in {..}/system/database/drivers/mysql/mysql_result.php on line 147

Я уже объявил следующее перед запуском этой функции:

ini_set('memory_limit', '-1');

Сама система имеет 8 ГБ памяти. Моя локальная машина имеет 12 ГБ памяти. Я сомневаюсь, что для этого нужно столько памяти.

Любая идея будет принята с благодарностью. Заранее спасибо!

0

Решение

PHP имеет глобальный лимит памяти в каждой системе, в которой он работает, который переопределяет собственный параметр memory_limit вашей программы.

Это memory_limit значение в файле с именем php.ini, Провайдеры общего хостинга часто устанавливают это как что-то вроде 32M. Это кажется твоей проблемой. Если вы контролируете сервер, вы можете установить его больше.

В противном случае вам нужно будет переделать вашу программу, чтобы использовать меньше памяти. (Это, к сожалению, очень распространенная проблема при переходе от разработки к производству.)

Вот несколько советов по поиску этого файла, если вы не знаете, где он находится.

Чувак, где мой php.ini?

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]