ОБУЧАЮЩАЯ РАССЫЛКА

Получайте свежие уроки и статьи прямо в свой почтовый ящик!
Ваш e-mail: *
Ваше имя: *


РЕКЛАМА



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

Автор: Андрей Галямов   
Дата: 06.09.2010

Эта статья содержит описание и способы избавления от наиболее распространенных ошибок, которые возникают в процессе установки и администрирования сайта на 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 стр.) и комментируем её, т.е. ставим впереди этой строки //

 

DB function failed with error number 1030

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

Комментарий: повреждены таблицы базы данных.

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

Источник: http://www.dia.org.ua


 

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

ПОМНИТЕ! в комментариях можно выражать мысли относительно текущего материала, НО не стоит задавать здесь общих вопросов. Для этого есть ФОРУМ ПОДДЕРЖКИ


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