Доброго времени суток!
В последнее время стал часто вылетать апач с ошибкой
FATAL: emalloc(): Unable to allocate nnn bytes
Грешу на частое использование одного достаточно большого массива, но без него никак
Вопрос такой, поможет ли сериализация этого массива с последующей распаковкой в нужных локальных функциях или есть еще какие-либо решения?
1. son - 27 Марта, 2008 - 08:29:33 - перейти к сообщению
2. valenok - 27 Марта, 2008 - 15:23:50 - перейти к сообщению
В .htaccess
php_value memory_limit 16M
php_value memory_limit 16M
3. son - 28 Марта, 2008 - 09:12:57 - перейти к сообщению
memory_limit уже изменяла, это не помогает ((
4. valenok - 28 Марта, 2008 - 12:06:30 - перейти к сообщению
Тогда переписывать алгоритм
(Добавление)
И ещё вспомнил про локальные функции..
Если ты массив передаёшь вот так:
func($arr)
То создаётся его локальная копия в функции. Тоесть он копируется.
Если с массивом в самой функции изменений не происходит, можно передавать массив по ссылке func( &$arr )
или использовать ключевое слово global
(Добавление)
И ещё вспомнил про локальные функции..
Если ты массив передаёшь вот так:
func($arr)
То создаётся его локальная копия в функции. Тоесть он копируется.
Если с массивом в самой функции изменений не происходит, можно передавать массив по ссылке func( &$arr )
или использовать ключевое слово global
5. son - 28 Марта, 2008 - 16:07:43 - перейти к сообщению
valenok пишет:
Если ты массив передаёшь вот так:
func($arr)
То создаётся его локальная копия в функции. Тоесть он копируется.
Если с массивом в самой функции изменений не происходит, можно передавать массив по ссылке func( &$arr )
Если ты массив передаёшь вот так:
func($arr)
То создаётся его локальная копия в функции. Тоесть он копируется.
Если с массивом в самой функции изменений не происходит, можно передавать массив по ссылке func( &$arr )
и массив тоже по ссылке передаю, все равно ошибка вылазит
6. EuGen - 28 Марта, 2008 - 16:09:06 - перейти к сообщению
Сделайте отладку скрипта, тогда поймете что именно у Вас вызывает переполнение памяти.