Ошибки Joomla

joomla

Ошибки Joomla и способы их устранения.

Fatal error: Maximum execution time of 30 seconds exceeded in ...



Критическая ошибка при загрузке любой страницы

Комментарий: недостаточно времени для выполнения скрипта
Решение: возможны несколько способов решения данной ошибки.
1. Если сайт находится на хостинге, то попросить хостера увеличить время выполнения скриптов
2. Если сайт находится на локальном сервере — то в php.ini (для Denwer, например, php.ini находится по адресу — Z:\\usr\\local\\php5\\php.ini) находим параметр max_execution_time и увеличиваем его значение.
3. В .htaccess вставить строку (в любое место):

php_value max_execution_time 1000

Следует помнить, что, как правило, на хостинге доступ к php.ini отсутствует, и манипуляции из п.3 редко помогают. Тогда единственный выход — п.1.

 Fatal error: Call to a member function merge() on a non-object in /home/.../public_html/ administrator/components/com_menus/models/item.php on line ...

Критическая ошибка при создании и/или редактировании пунктов меню.

Решение: проверить целостность файла administrator/components/com_menus/models/item.php, при необходимости перезалить из установочного архива. Для гарантии — перезалить всю папку administrator из установочного архива Joomla!


Delete failed: ''0a54a1212e802cc1ada1597885f9a59e.php''

Не критическая ошибка при сохранении материалов.

Комментарий: невозможно удалить файл кэша статьи.
Решение: проверить права записи (CHMOD) в папку /tmp (должны стоять 755 или 777). Проверить абсолютный путь к папке /tmp в конфиге сайта (configuration.php)


Database Error: Unable to connect to the database:Could not connect to database

Критическая ошибка соединения с базой данных.

Комментарий: нет подключения к базе данных.
Решение: проверить наличие базы данных сайта (в configuration.php в параметре var $db, имя базы данных должно соответствовать имени базы в phpMyAdmin). Проверить имя пользователя базы данных (var $user) и пароль доступа к базе данных (var $password). Если с этими параметрами все нормально — скорее всего упал MySQL, для устранения ошибки обратится к хостеру.


jtablesession::Store Failed DB function failed with error number 1146 Table
''database_name.jos_session'' doesn''t exist SQL=INSERT INTO `jos_session` (
`session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES (
''eb894feb5ff2dcc5f12cfc43f071fd8d'',''1270548439'','''',''0'',''1'',''0'' )

Критическая ошибка доступа к таблице сессий базы данных.

Комментарий: отсутствует таблица _session в базе данных.
Решение: проверить наличие таблицы _session в базе данных сайта. Проверить правильность префикса используемой базы данных (параметр var $dbprefix в configuration.php должен совпадать с префиксом таблиц базы данных, причем следует помнить, что таблицы в базе данных могут быть с разными префиксами, по умолчанию Joomla! использует префикс "jos_").

JAuthentication::__construct: Could not load authentication libraries. Имя пользователя и пароль не совпадают

Критическая ошибка авторизации в административной части сайта.

Комментарий: причиной ошибки является отключение (снятие с публикации) плагина Authentication — Joomla и/или плагина User — Joomla!
Решение: необходимо в phpMyAdmin включить два плагина (либо через интерфейс phpMyAdmin, либо выполнить два следующих SQL-запроса):
Активирование плагина Authentication — Joomla


UPDATE `jos_plugins` SET `name` = ''Authentication - Joomla'', `element` = ''joomla'', `folder` = ''authentication'', `access` = ''0'', `ordering` = ''1'', `published` = ''1'', `iscore` = ''1'', `client_id` = ''0'', `checked_out` = ''0'', `checked_out_time` = ''0000-00-00 00:00:00'', `params` = '''' WHERE `id` = ''1'';

Активирование плагина User — Joomla!


UPDATE `jos_plugins` SET `name` = '''', `element` = ''joomla'', `folder` = ''user'', `access` = ''0'', `ordering` = ''0'', `published` = ''1'', `iscore` = ''0'', `client_id` = ''0'', `checked_out` = ''0'', `checked_out_time` = ''0000-00-00 00:00:00'', `params` = ''autoregister=1\\r\\n\\r\\n'' WHERE `id` = ''5'';

JAuthentication::__construct: Невозможно загрузить библиотеки аутентификации. Имя пользователя и пароль не совпадают или учетная запись отсутствует

Критическая ошибка авторизации в фронтальной части сайта.

Комментарий: причиной ошибки является отключение (снятие с публикации) плагина Authentication — Joomla и/или плагина User — Joomla!
Решение: необходимо в phpMyAdmin включить два плагина (либо через интерфейс phpMyAdmin, либо выполнить два следующих SQL-запроса):

 UPDATE `jos_plugins` SET `name` = ''Authentication - Joomla'', `element` = ''joomla'', `folder` = ''authentication'', `access` = ''0'', `ordering` = ''1'', `published` = ''1'', `iscore` = ''1'', `client_id` = ''0'', `checked_out` = ''0'', `checked_out_time` = ''0000-00-00 00:00:00'', `params` = '''' WHERE `id` = ''1'';

Активирование плагина User — Joomla!


UPDATE `jos_plugins` SET `name` = '''', `element` = ''joomla'', `folder` = ''user'', `access` = ''0'', `ordering` = ''0'', `published` = ''1'', `iscore` = ''0'', `client_id` = ''0'', `checked_out` = ''0'', `checked_out_time` = ''0000-00-00 00:00:00'', `params` = ''autoregister=1\\r\\n\\r\\n'' WHERE `id` = ''5'';


Warning: main(/путь/includes/phpInputFilter/class.inputfilter.php):failed to open stream: No such file or directory in /путь/includes/joomla.php on line 81 Fatal error: main(): Failed opening required ''/путь/includes/phpInputFilter/class.inputfilter.php'' (include_path=''.:/usr/lib/php:/usr/local/lib/php'') in /путь/includes/joomla.php on line 81

Критическая ошибка во время установки либо после установки Joomla!

Комментарий: папка /includes/phpInputFilter залилась не полностью либо в неправильном регистре.
Решение: проверить и/или заменить папку /includes/phpInputFilter из оригинального дистрибутива и проверить регистр имени папки — при необходимости переименовать (вместо phpinputfilter в phpInputFilter)


cURL extension is not available on your server

Некритическая ошибка появляется при публикации некоторых модулей на форнте сайта (в местах вывода модулей).

Комментарий: отсутствует расширение php_curl на хостинге.
Решение: Необходимо подключить расширение PHP cURL — либо в php.ini добавить extension=php_curl.dll, либо, если нет доступа к php.ini, обратится к хостеру.


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /путь/configuration.php:1) in /путь/libraries/joomla/session/session.php on line 423 Warning: Cannot modify header information - headers already sent by (output started at /путь/configuration.php:1) in /путь/libraries/joomla/session/session.php on line 426

Критическая ошибка при загрузке сайта.

Решение: проверить кодировку файла конфигурации (configuration.php). Кодировка файла должна быть в utf-8 без BOM. Содержимое файла configuration.php должно начинаться с Ошибка: запрашиваемая лента не загружена

Некритическая ошибка, появляется в админке и в лицевой части сайта соответственно.
Комментарий: по какой-то причине не возможно загрузить ленту новостей.
Решение: Необходимо снять с публикации административный модуль mod_feed (либо удалить его).


Fatal error: Allowed memory size of XXX bytes exhausted (tried to allocate YYY bytes)...

Критическая ошибка появляется при выполнении определенных операций.

Комментарий: Для выполнения скриптов недостаточно отведенной хостером оперативной памяти.
Решение: Существует несколько способов решить эту ошибку:
1. Пробуем самостоятельно увеличить память для выполнения скрипта
1.1. В файл index.php (в корне сайта) добавляем строку (при необходимости значение 32М можно увеличить, но сильно увеличивать не стоит):

1.2. В файл .htaccess (в корне сайта) добавлем строку:
php_value memory_limit 32M
1.3. В php.ini (если есть к нему доступ) увеличиваем параметр memory_limit:
memory_limit = 32M
1.4. В своем скрипте добавляем:
ini_set(''memory_limit'', ''32M'')
1.5. Для Joomla! 1.5 существует плагин Memory Limit Plugin, который добавляет память для выполнения скриптов без ручного вмешательства в файлы сайта.
2. Если все вышеперечисленные способы не помогли — обращаемся к хостеру с просьбой об увеличении оперативной памяти для выполнения скриптов.


JFolder::create: Path not in open_basedir paths Unable to create destination

Критическая ошибка при установке расширений.

Комментарий: ошибка связанная с open_basedir.
Решение: Для начала проверяем правильность пути к папке tmp (в файле сonfiguration.php). Если там все верно, то открываем файл  /libraries/joomla/filesystem/folder.php и находим $obd = ini_get(''open_basedir'') (примерно 194 стр.) и комментируем её, т.е. ставим впереди этой строки //


JFolder::create : Infinite loop detected

Критическая ошибка при установке расширений.

Решение: В большинстве случаев ошибка появляется тогда, когда для временной папки tmp указан неверный путь (в файле сonfiguration.php).


DB function failed with error number 1030

Критическая ошибка при сохранении и/или редактировании материалов или модулей.

Комментарий: повреждены таблицы базы данных.
Решение: необходимо проверить таблицы базы данных и восстановить их (в phpMyAdmin есть соответствующие функции). Если не помогло — обратится к хостеру с сообщением об ошибке MySQL — 1030 SQLSTATE: HY000 (ER_GET_ERRNO)


XML Parsing Error at 1:37. Error 108: Unknown

Критическая ошибка при создании и/или установке модулей.

Комментарий: ошибка в xml-файле модуля.
Решение: необходимо проверить xml-файл устанавливаемого или создаваемого модуля. В начале файла должны содержатся следующие строки:


DB function failed with error number 1226 User ''username'' has exceeded the ''max_questions'' resource ... Ошибка MySQL 1226: превышено допустимое количество запросов

Критическая при загрузке страниц сайта

Комментарий: на сервере установлено ограничение количества запросов от одного пользователя базы данных.
Решение: в панели управления хостингом создаем двух или трех пользователей вашей базы данных, с правами, идентичными основному пользователю. Далее открываем файл configuration.php и вносим правки:
для Joomla! 1.0 — находим

$mosConfig_user = ''main_user_joomla'';

и заменяем на следующее:

где: main_user_joomla — главный пользователь БД
main_user_joomla2, main_user_joomla3, main_user_joomla4 — созданные копии главного пользователя.

Для Joomla! 1.5 — добавляем после class JConfig {


function __construct()
{
$this->user = $this->getUser();
}
private function getUser()
{
$users_a = array(''main_user_joomla'',''main_user_joomla2'',''main_user_joomla3'');
$user_a = $users_aarray_rand($users_a)];
return $user_a;
}


Call to undefined function: xml_parse() in /.../libraries/joomla/utilities/simplexml.php on line xxx

Критическая ошибка при попытке установки CMS Joomla! ранних версий.

Комментарий: данная ошибка является следствием особенности хостинга.
Решение: необходимо обратится к хостеру с сообщением об ошибке библиотеки XML-парсинга. В некоторых случаях достаточно добавить в файл .htaccess следующие строки:

AddHandler x-httpd-php5all .php .inc .php5 AddHandler x-httpd-php4 .php4


JInstaller::install: Ошибка SQL DB function failed with error number 2006 MySQL server has gone away SQL= запрос

Критическая ошибка при установке объемных расширений, чаще всего компонентов, содержащих большое количество файлов.

Комментарий: MySQL сервер уходит в оффлайн, так как исчерпывается время ожидания сервера
Решение: необходимо обратится к хостеру с просьбой увеличить время в параметре mysql.connect_timeout. Но хостеры, идущие навстречу клиентам — редкость в наше время. Поэтому пробуем ручную установить расширение (с распаковкой архива расширения на хостинг) либо использовать хак от Martin Brampton: качаем файл JoomlaDBI.zip из файлового архива, делаем резервную копию файлов /libraries/joomla/database/database/mysql.php и /libraries/joomla/database/database/mysqli.php Далее заменяем эти файлы аналогичными модифицированными файлами из архива.


JFolder::create: Невозможно создать каталог Внимание! - Не удалось переместить файл

Не критическая ошибка

Ошибка в Joomla возникает когда в файле /configuration.php (он находится в папке гле лежат файлы и папки CMS Joomla) указаны неправильные пути к файлам /log /tmp и/или неправильно выставлены права на папки и файлы joomla

/logs
/tmp

Часто при переносе на другой хостинг нужно прописывать новые пути. Посмотреть их можно через меню: Помощь — информация о системе — информация PHP — строка DOCUMENT_ROOT. Или Помощь — Информация о системе — Права на папки — Папка для кэширования.

Так же путь к папке logs можно выставить через административную панель: Меню САЙТ — ОБЩИЕ НАСТРОЙКИ — СИСТЕМА — Путь к папке логов. Меню САЙТ — ОБЩИЕ НАСТРОЙКИ — СЕРВЕР — Путь к временной папке. Вставьте путь и сохраните.Еще одна причина это права на папки Joomla, которые задействованы в установке модулей, компонентов и плагинов. Посмотреть их можно через меню Joomla.

Помощь / Информация о системе / Права на папки

На против всех папок и файлов должна быть надпись

Доступен на запись

Рассказать друзьям


Все права на материалы, размещенные на сайте, защищены законодательством об авторском праве и смежных правах и не могут быть воспроизведены или каким либо образом использованы без письменного разрешения правообладателя и проставления активной ссылки на главную страницу портала IT Serebra (itserebra.ru) рядом с использованными материалами. За содержание рекламных материалов редакция ответственности не несет. Внимание! Данный интернет-сайт носит исключительно информационный характер и ни при каких условиях не может считаться публичной офертой, которая определяется положениями Статьи 437 (2) Гражданского кодекса РФ. Пожалуйста, уточняйте точную стоимость, наличие товара и иные условия у продавцов. Они могут отличаться от опубликованных на сайте.
Настоящее согласие действует с момента его предоставления и в течение всего периода использования сайта. В случае отказа от обработки персональных данных метрическими программами я проинформирован о необходимости прекратить использование сайта или отключить файлы cookie в настройках браузера.