На моем локальном хосте рассматриваемый процесс работает нормально. Это в основном много хруста числа.
Но на моем сервере (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 ГБ памяти. Я сомневаюсь, что для этого нужно столько памяти.
Любая идея будет принята с благодарностью. Заранее спасибо!
PHP имеет глобальный лимит памяти в каждой системе, в которой он работает, который переопределяет собственный параметр memory_limit вашей программы.
Это memory_limit
значение в файле с именем php.ini
, Провайдеры общего хостинга часто устанавливают это как что-то вроде 32M. Это кажется твоей проблемой. Если вы контролируете сервер, вы можете установить его больше.
В противном случае вам нужно будет переделать вашу программу, чтобы использовать меньше памяти. (Это, к сожалению, очень распространенная проблема при переходе от разработки к производству.)
Вот несколько советов по поиску этого файла, если вы не знаете, где он находится.
Других решений пока нет …