Ошибка в работе сайта на PuppyRus 5.10

24 февраля 2011 - Администратор

Автор Алекс

Недавно начал работать с операционкой PuppyRus 5.1, сервером XAMPP и системой джумла. При работе сайта на этой тройке, часто выскакивает страница следующего содержания:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 22963 bytes) in /opt/lampp/htdocs/xampp/mdb/plugins/system/sef.php on line 69, а далее пусто.

Покопавшись в интернете нашол решение этой проблемы.

Описание проблемы, причины её возникновения и пути решения.

Проблема

При попытке зайти в тему, профиль пользователя, список пользователей либо любую другую страницу ничего не выводится, либо выводится сообщение аналогичное приведенному:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 737280 bytes) in /home/ourmobil/public_html/forum/sources/ipsclass.php(2054) : eval()'d code on line 1085

или такому

Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 16 bytes) in /home/users/d/demon99/docs/subs/cs/forum/ips_kernel/class_xml.php on line 254

Причины

Для выполнения скрипта требуется больше памяти чем предоставляет PHP.

Решение

Необходимо увеличить количество выделяемой PHP памяти. Сделать это можно одним из следующих способов:

1. Попробовать самостоятельно изменить это значение, добавив в самое начала index.php (расположенного в корне сайта) следующие строчки:

<?php ini_set("memory_limit", "32M"); ?>

это если хостер не отключил поддержку ini_set в настройках сервера
2. Положить в корень сайта файл .htaccess следующего содержания:
Код:
php_value memory_limit 32M

лимит можно изменять самостоятельно, можно поставить и 64M но не наглеть :)
Если же такой файл уже есть в корне сайта — просто добавьте в него приведенную выше строку.
Если у хостера PHP работает ка PHP-CGI через suPHP, то это может вызвать ошибку 500, значить использовать директивы php_flag, php_value в файле .htaccess невозможно!
3. Некоторые хостеры поддерживают работу php.ini у клиента, т.е. вы можете самостоятельно делать свои настройки PHP для своей учетной записи.
а значить создайте файл php.ini в корне сайта
и добавте следующий код:
memory_limit = 32M

В случае если это не помогло:

Изменяем файл php.ini расположенный в папке сервера, у меня это
/opt/lampp/etc и в строке номер 202 изменяем параметр с 8М на 32М или 64М если не жалко. После этого выключаем и включаем сервер командами из консоли:
/opt/lampp/lampp stop
/opt/lampp/lampp start

После чего перезагружаем страницу.
Настройки описанные выше у меня успеха сначало не имели.

Я использую: PuppyRus 5.10 (скачанный с этого сайта), сервер XAMPP 1.7 и Joomla 1.5.20

Рейтинг: 0 Голосов: 0 2555 просмотров