Сайт Вадима Аниканова

Что означает "Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate ....."

Устраняем ошибку Fatal error Allowed memory size


Очень часто новички в веб строении сталкиваются с проблемами работы скриптов бесплатных и платных.

Сейчас расскажу как побороть ошибку "Fatal error: Allowed memory size of ...."

Примерно она такого вида:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2298 bytes) in /home/username/public_html/administrator/components/com_virtuemart/classes/class.img2thumb.php on line 151

Эта ошибка взята из скрипта . Что это означает ?

Эта ошибка означает, что ваш скрипт (а в контексте Joomla это или сама система или один из ее элементов) для выполнения требует памяти больше, чем разрешено в настройках PHP на сервере хостера. Т.е. запрашиваемое значение превышает максимальное количество оперативной памяти предоставляемого пользовательскому аккаунту виртуальным хостингом. На разных хостингах это значение может отличаться.

Чаще всего данная ошибка возникает в файле /includes/domit/xml_domit_parser.php при обработке xml-файлов (например при просмотре списка компонентов, модулей или мамботов.

Если у вас возникает такая проблема, то можно сделать следующее:

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


4. Если это не помогло — обратитесь к администратору хостинга и попросите увеличить количество доступной памяти для PHP.

Тэги: что, memory, size, allowed, error, fatal, allocate, exhausted, (tried, bytes, 33554432, означает, вида, 2298, bytes)

Copyright © 2013. All Rights Reserved.

Yandex-metrika