Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: экономия памяти
Форумы портала PHP.SU » PHP » Программирование на PHP » экономия памяти

Страниц (1): [1]
 

1. son - 27 Марта, 2008 - 08:29:33 - перейти к сообщению
Доброго времени суток!
В последнее время стал часто вылетать апач с ошибкой
FATAL: emalloc(): Unable to allocate nnn bytes
Грешу на частое использование одного достаточно большого массива, но без него никак Огорчение
Вопрос такой, поможет ли сериализация этого массива с последующей распаковкой в нужных локальных функциях или есть еще какие-либо решения?
2. valenok - 27 Марта, 2008 - 15:23:50 - перейти к сообщению
В .htaccess
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
5. son - 28 Марта, 2008 - 16:07:43 - перейти к сообщению
valenok пишет:

Если ты массив передаёшь вот так:
func($arr)
То создаётся его локальная копия в функции. Тоесть он копируется.
Если с массивом в самой функции изменений не происходит, можно передавать массив по ссылке func( &$arr )

и массив тоже по ссылке передаю, все равно ошибка вылазит
6. EuGen - 28 Марта, 2008 - 16:09:06 - перейти к сообщению
Сделайте отладку скрипта, тогда поймете что именно у Вас вызывает переполнение памяти.

 

Powered by ExBB FM 1.0 RC1