Вы здесь: Статьи Статьи о Joomla! Распространенные ошибки Joomla! и способы их решения


Распространенные ошибки Joomla! и способы их решения

Error-Joomla
Эта статья содержит описание и способы избавления от наиболее распространенных ошибок, которые возникают в процессе установки и администрирования сайта на CMS Joomla! 1.5. Типичные ошибки ранних версий Joomla! 1.5.x в статье приводится не будут - для их решения достаточно обновится до последней актуальной версии - Joomla! 1.5.15.

Итак, начнем. Если у Вас версия Joomla! ниже 1.5.15, то вам необходимо обновить ядро:
1. Смотрим, какая версия Joomla! у нас установлена - в правом верхнем углу административной части сайта будут заветные циферки - например "Версия 1.5.12".
2. Далее идем на joomlacode.org, в списке архивов ищем файл Joomla_1.5.12_to_1.5.15-Stable-Patch_Package.zip
3. Скачиваем и содержимое архива распаковываем в корень сайта на хостинге, подтверждая замену всех файлов.

Теперь приступим непосредственно к описанию различных ошибок и способов их решения.


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
4. В index.php (в корне сайта) вставить строку:
<?php ini_set("max_execution_time", "1000"); ?>
Следует помнить, что, как правило, на хостинге доступ к php.ini отсутствует, и манипуляции из п.3 и п.4 редко помогают. Тогда единственный выход - п.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 должно начинаться с <?php. Если впереди имеются какие либо другие символы - удалите их.


ERROR LOADING FEED DATA
Ошибка при загрузке канала данных.
Ошибка: запрашиваемая лента не загружена

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


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

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

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 есть соответствующие функции). Также есть вероятность переполнения временной папки /tmp. Удалите ее содержимое, если не помогло - обратится к хостеру с сообщением об ошибке MySQL - 1030 SQLSTATE: HY000 (ER_GET_ERRNO)


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

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

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <install type="module" version="1.5.0">

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

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

  1. $mosConfig_user = 'main_user_joomla';
и заменяем на следующее:
  1. $mosConfig_users = array("main_user_joomla", "main_user_joomla2", "main_user_joomla3", "main_user_joomla4");
  2. $mosConfig_user = $mosConfig_users[array_rand($mosConfig_users)];
где: main_user_joomla - главный пользователь БД
main_user_joomla2,
main_user_joomla3, main_user_joomla4 - созданные копии главного пользователя.

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

  1. function __construct()
  2. {
  3. $this->user = $this->getUser();
  4. }
  5. private function getUser()
  6. {
  7. $users_a = array('main_user_joomla','main_user_joomla2','main_user_joomla3');
  8. $user_a = $users_a[array_rand($users_a)];
  9. return $user_a;
  10. }

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 Далее заменяем эти файлы аналогичными модифицированными файлами из архива.


Fatal error: Call to undefined method JLanguage::getBackwardLang() in /...
/administrator/components/com_virtuemart/compat.joomla1.5.php on line 78

Критическая ошибка при установке VirtueMart.
Комментарий: Ошибка является следствием несовместимости устанавливаемой версии VirtueMart и линейки Joomla и возникает в результате установки VirtueMart версии 1.1.x на Joomla! 1.6 или 1.7

Решение: Проверьте соответствие версии компонента магазина VirtueMart и Вашей Joomla!
. Линейка VirtueMart 1.1.x (например 1.1.9) предназначена только для Joomla! 1.5


JFolder::files: Path is not a folder

Некритическая ошибка в административной части сайта (в общих настройках и пр.).
Комментарий: Наиболее частой причиной этой ошибки есть удаление некоторых ненужных, как может показаться на первый взляд, папок по FTP, в первую очередь вложенных каталогов в папке
images:
images/banners
images/M_images
images/smilies
images/stories
Решение: Проверьте наличие этих папок, если же они отсутствуют (все, или хотя бы одна из них) возьмите отсутствующие папки из установочного архива Joomla либо просто создайте их на хостинге. Если же папки имеются, проверьте также регистр имени папок - папка 
images/M_images должна называться именно так, а не images/m_images


JInstaller::install: Ошибка SQL DB function failed with error number 1064

Критическая ошибка при установке расширений.
Комментарий: Ошибка происходит при попытке установки расширений для Joomla и связанная с тем, что запрос в БД написан для устаревших версий MySQL и некорректно работает с новыми версиями.

Решение: найдите в вашем установочном запросе упоминание Type = MYISAM и замените на ENGINE = MYISAM либо, если это возможно, используйте новые версии расширений.

Ошибка MySQL 1226: превышено допустимое количество запросов

Комментарии  

 
0 #61 Serj 27.05.2014 08:11
на обоих. Обработчик сессии? На сервере общее время (ежели ты хост имел ввиду . . . )
Цитировать
 
 
0 #62 Aleks_El_Dia 27.05.2014 11:41
Я имел ввиду хост, но не длительность сессий, а их обработчик.
Цитировать
 
 
0 #63 Serj 27.05.2014 11:59
А где мне это посмотреть? Или к хостеру обратиться? Смежный сайт работает отлично, на этом же хосте.
Цитировать
 
 
0 #64 Aleks_El_Dia 28.05.2014 03:28
В общих настройках сайта - вкладка "Система".
Цитировать
 
 
0 #65 Serj 28.05.2014 07:13
Выставлено по 45 минут. Не прокатывает.
Цитировать
 
 
0 #66 Aleks_El_Dia 28.05.2014 09:06
Даже не знаю как еще объяснить что я имею ввиду не время жизни, а обработчик сессий. Мне казалось - что скриншот опции с подчеркнутой красной линией - это достаточно :-)
Цитировать
 
 
0 #67 Serj 28.05.2014 09:23

Так было и осталось без изменений
Цитировать
 
 
0 #68 Serj 28.05.2014 09:23
Что еще???
Цитировать
 
 
0 #69 Aleks_El_Dia 28.05.2014 09:51
Выставьте временно обработчик сессий - Нет (или другой, если доступно в списке). И пинайте хостера на эту тему. Вообщем у Вас проблема с сессиями, но не с длительностью, а с обработкой.
Цитировать
 
 
0 #70 Serj 28.05.2014 10:09
Понял, буду стучать хостеру. Спасибо. О результатах отпишусь
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Популярные файлы

1.
Компонент Миграции с Joomla! 1.0.x на Joomla! 1.5.x
6030
2.
Плагин RESTFul миграции с Joomla! 1.5 на Joomla! 2.5 - JUpgrade Pro
4499
3.
Компонент миграции с Joomla! 1.0 на Joomla! 1.5 - mtwmigrator
3343

Последние комментарии

  • Огромное СПАСИБО! Подробнее....
    От ALEXANDR ERSHOV
  • Спасибо за подсказку! Обновила языковой пакет и вс... Подробнее....
    От Валентина
  • И ведь не сложная сама по себе штука, но пока знан... Подробнее....
    От Lstchk