Вместо сайта белый экран Joomla, поиск причин и исправление. Joomla вывод ошибок


Белый экран Joomla сайта: что такое, как исправить

class="eliadunit">

 

Вступление

Белый экран Joomla, называют «экраном смерти». С одной стороны это правильно, сайт и/или админка недоступны, сайт не работает и срочно нужно это безобразие исправлять. С другой стороны, белый экран, необходим, как оборонительный рубеж от взлома. Поэтому, вы не только должны знать, как исправить белый экран, но и как правильно его настроить. Да, да, именно, правильно настроить белый экран Джумла. С этого и начнем.

Настройка белого экрана

В Joomla есть системная функция вывода (показа) ошибок на сайте. Настройка вывода ошибок находится на вкладке Общие настройки→Сервер→Показ ошибок. По определению нужно поставить показ ошибок в положение «Нет», то есть ошибки показывать не нужно. Поясню почему. Если поставить постоянный показ ошибок, при взломе сайта злоумышленник будет видеть информацию системы и легко преодолеет вашу защиту. Кроме этого, простым посетителям не нужно видеть, даже самые безобидные ошибки на сайте.

Отсюда вывод 1: В рабочем состоянии система Joomla не должна показывать ошибки.

Видим белый экран Joomla

Предположим, пришел день «Ч» и при попытке войти в административную панель и/или при попытке открыть свой сайт вы видите белый экран. Такое простое, белое полотно, как в кинотеатре. В такой ситуации паниковать не нужно. Для начала успокойтесь, если конечно волновались, и вспомните, что вы делали с сайтом до белого экрана.

Скорее всего, вы могли:

Как видите причин много и прежде всего, нужно найти причину белого экрана. Включим показ ошибок Joomla разными способами.

Как включить показ ошибок из административной панели Joomla

Если вы можете войти в административную панель сайта, включить ошибки не сложно. Для включения показа ошибок открываете вкладку Общие настройки→Сервер и ищите строку «Показ ошибок».

nastroyka pokaza oshibok 1

Joomla предлагает несколько вариантов отражения ошибок, от показа по умолчанию, до показа ошибок для разработчиков:

Чтобы понять, почему не работает ваш сайт, устанавливайте показ ошибок по глубине отражения, от показа по умолчанию до максимума.

Что должно быть, когда включен показ ошибок

После включения, показа ошибок, откройте свой сайт. Теперь вместо белого экрана, система должна вывести информацию о вашей ошибке. В этой информации практически все, что поможет вам ошибку исправить или хотя бы поискать способы ее исправления в Интернет.

Отсюда вывод 2: Показ причин белого экрана с доступом в админку сайта включается на вкладке: Система→Общие настройки →Сервер.

Но это мы выявили ошибки при рабочем доступе в административную панель сайта. А что делать, если белый экран висит вместо админки при попытке в неё войти.

Как включить показ ошибок, если нет доступа в административную панель Joomla

Белый экран Joomla может закрыть вам доступ в административную панель. В этом случае, для включения показа ошибок, идем в каталог сайта по FTP соединению. Здесь нас интересует, конечно же, файл configuration.php– основной файл со всеми настройками системы, которые вы задавали в интерфейсе административной панели.

class="eliadunit">

Важно, для редактирования файла configuration.php копируем его на компьютер, делаем с него копию и открываем копию для редактирования в текстовом редакторе. Я пользую Notepad++, а FTP клиент - FileZilla и еще не разу не пожалел об этом. Редактируем копию configuration.php, оставляя первоисточник для резерва.

В configuration.php ищем строку: error_reporting и ставим значение maximum:

$error_reporting = 'maximum'; // оно соответствует значению «Максимум» ; в настройках показа ошибок из административной панели.

Сохраняем отредактированный файл и переносим в каталог сайта в режиме перезаписи. Открываем сайт и смотрим сообщение об ошибках.

Отсюда вывод 3: Включить показ ошибок белого экрана можно редактированием файла configuration.php.

Ищем причины белого экрана Joomla в логах сайта

На этом сайте я еще не писал, как работать с логами сайта Joomla, поэтому кратко.

Вам может повести и у вас правильно настроенный хостинг, который все ошибки, происходящие с сайтом, пишет в файл error.log. В зависимости от настроек, доступ к нему может быть различный: из административной панели хостинга, из каталога по FTP или вы можете запросить его в supportвашего хостера. Важно его найти или получить.

Открываете его в текстовом редакторе и по дате и времени ищите свою системную ошибку. Строка с ошибкой довольно длинная и может показаться непонятной. В принципе понимать нужно две вещи:

  1. Первая: в начале ошибки должно быть: PHP Warnings или PHP Notice. Первая ошибка серьезнее второй.
  2. Вторая: в строке ошибки ищите названия расширения Joomla, которое и вызвало эту ошибку.

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

Что делать, если понятна причина белого экрана

Если есть доступ в административную панель, открываете Расширения→Менеджер расширений→Управление. Находите расширение-виновник и как минимум отключаете его. Не забывайте чистить кэш сайта и кэш браузера (кнопка CTRL+F5). Если не помогло - деинсталлируйте расширение и опять чистить кэш сайта и кэш браузера.

Ничего не помогает – белый экран Joomla не пропадает

Если ничего из выше перечисленного не помогло и белый экран не пропадает, делаем следующие шаги.

  1. не сдавайтесь, я находил решение для самых сложных ошибок. Чаще на англоязычных ресурсах.
  2. можно плюнуть на поиски ошибок, снести сайт и БД и восстановить их из резервной копии сайта, которую вы должны были сделать перед любыми обновлениями на сайте.
  3. ищите помощника из профессионалов.

©Joomla3-x.ru

Другие статьи раздела: Администрирование

 

 

 

class="eliadunit">

joomla3-x.ru

Белый экран вместо сайта. Как включить отображение ошибок в Joomla. Что мне делать?

рейтинг: 8.6/10, голосов: 27

При установке или настройки расширений, редактировании шаблона и многих других действиях на сайте при переходе по ссылке можно увидеть «белый экран». Браузер показывает белую страницу и ничего более.

Белый экран в большинстве случаев означает ошибку в php-коде одного из файлов. Вы могли где-то не закрыть скобку, не поставить точку с запятой, ошибиться буквой в операторе. «Белый экран» служит для лучшей защищенности сайта.

Если хакер попытается взломать сайт и увидит информацию об ошибке, это позволит ему быстрее достигнуть своей цели. По этой причине для работающего сайта в случае возникновения ошибки нормой считается показывать пустой экран. Но во время разработки такие ошибки нужно видеть.

Как включить отображение ошибок?

php.ini

Если вы работаете на локальном сервере, то отображение можно включить/выключить в файле php.ini. Находим в нем параметр «display_errors» и изменяем с «off» на «on».

.htaccess

Если же сайт находится на хостинге и доступа к php.ini нет, то в файл «.htaccess» (точка в начале обязательна), который находится в корне Joomla, добавляем строчку:

php_value display_errors 1

Возможно этого файла у вас нет, но в корне должен лежать дефолтный htaccess.txt. Просто переименуйте его, в противном случае создайте.

configuration.php

Joomla имеет собственный обработчик ошибок. Он настраивается из основного конфигурационного файла "configuration.php", который можно редактировать вручную, либо через панель управления.

В панели (Общие настройки / Сервер / Сообщения об ошибках) все просто - ставим максимум. Если правим вручную, то открываем его (лежит в корне сайта), находим параметр и зменяем его как показано ниже

var $error_reporting = E_ALL;
Средствами PHP

Этот способ поможет, если ничего выше не помогло. Перед проблемным местом укажите явный уровень вывода ошибок с помощью PHP. 

Это явно заставит PHP отображать ошибки далее по коду.

Я увидел ошибку, что делать дальше?

Если вы знаете PHP, то решаем проблему. Если нет, то ищем того кто знает PHP.

Важно помнить и знать!

Отлаживаться и включить ошибки нужно только на тестовом сайте или локальной копии. Не нужно вашим посетителям видеть ваши ошибки.

С точки зрения безопасности всегда отключайте вывод ошибок на реальном сайте!

joomla-book.ru

Как включить отображение ошибок РНР на сайте Joomla?

Иногда бывает, что на Вашем Joomla-сайте вместо контента отображается пустая страница или выводится сообщение об ошибке «500 Error». Для успешного решения этих и подобных им проблем необходимо собрать нужную информацию, которая содержится во временном отображении ошибок РНР.Причиной появления вышеназванных проблем являются ошибки РНР в коде. Поэтому включение отображения сообщение об ошибках РНР существенно облегчит Вам задачу по их поиску и исправлению.Существует несколько способов получения необходимой информации.Первый способ – использовать файл php.ini, а именно необходимо включить отчёт об ошибках в этом файле (в случае наличия доступа к нему). Для этого необходимо прописать такие строки:

error_reporting = E_ALLdisplay_errors = On

Второй способ в случае, если Вы не имеете доступа к php.ini заключается в получении информации об ошибке через файл .htaccess на Вашем сервере (его можно найти в корневом каталоге в папке public_hml Вашего Joomla-сайта). Для этого необходимо внести в него изменения прописав следующий код:

# Displaying PHP errorsphp_flag display_errors onphp_value error_reporting 6143

Следует учесть, что некоторые хостинги не предоставляют возможность для внесения изменений в .htaccess, поэтому для получения доступа к этому файлу Вы должны связаться с Вашим оператором web-хостинга.Если же получить доступ к .htaccess файлу нельзя или внесение изменений в этот файл не дало никаких результатов можно использовать третий способ, а именно попросить Вашего провайдера включить отчёт об ошибках или дать доступ к файлу журнала ошибок (он должен быть расположен за пределами папки public_html).После получения всей необходимой информации о проблеме необходимо из соображений безопасности отключить сообщения об ошибках PHP.Иногда проблема может быть вызвана неправильным выполнением SQL-запросов. Включение режима отладки в конфигурации Joomla может дать исчерпывающую информацию в сообщении об ошибках PHP (Сайт – Общие настройки – Система – Параметры отладки).Отображение ошибок PHP можно также задать и в общих настройках (Сайт – Общие настройки – Сервер-Настройка сервера). Но это действие не приведёт к ожидаемому эффекту, если отображение ошибок РНР отключено на сервере.

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

www.progon-sayta.ru

Включение отображения ошибок в joomla через configuration.php

Порой найти ошибку настолько сложно устранить, что даже не знаешь что делать. Кому-то помогают созданные ранее резервные копии, кому-то свой специалист веб-программист, кому-то тех-поддержка хостинга, если повезет. Ну а что же делать, если некому помочь? В данном случае, остается только полагаться  на себя. Самое главное чтобы устранить проблему нужно её найти. Но как правило, страница то не загружается, то нельзя войти в админ панель, то сайт медленно грузиться, причин конечно может быть много, но как правило, это все ошибки на вашем сайте — старая версия PHP, возможно устарели функции и более не работают так как нужно, возможно где-то забыли BOM символ и от этого не запускается сайт, возможно не создана директория для сессий или логов. Для того, чтобы увидеть ошибку в CMS Joomla вам нужно выполнить несколько пунктов

    1. Подключиться к сайту по FTP протоколу
    2. Открыть редактором файл configuration.php (находится в корне сайта)
    3. Найти строку $error_reporting - поменять в не запись на одну из указанных ниже

 

-1 = 0 : Отключить отображение ошибок. 30711 = E_ALL & ~(E_NOTICE|E_WARNING) : All errors reporting. No warnings or notices. 30711 = E_ALL & ~E_NOTICE : All errors and warnings reporting. No notices. 30719 = E_ALL : All errors, warnings and notices reporting. 32767 = E_ALL | E_STRICT : All errors, warnings, notices and strict standards reporting

Лично я рекомендую использовать последний пункт, для отображения всех ошибок

  1. 4. Сохранить файл  с помощью редактора
  2. 5. Зайти на страницу браузера и обновить страницу с очищенным кэшем CTRL+F5  и вы должны увидеть ошибки.

Далее устранить найденную ошибку будет проще, так как её можно найти в сети интернет, скорее всего, уже кто-то встречался с данной проблемой ранее.

Решение одной из ошибок со входом в админ панель в joomla:

Не пускает в Joomla даже при корректном логине и пароле, а если вводишь не корректный, то показывает ошибки не корректного логина или пароля.РЕШЕНИЕ:Ищем в таблице *_extensions (старое название таблицы jos_plugins) модуль plg_user_joomla и включаем его или же смотрим ID в моем случае это был 432 и пишем один из sql запросов.

UPDATE `имя БД`.`префикс_extensions` SET `enabled` = '1' WHERE `префикс_extensions`.`extension_id` =432; UPDATE `имя БД`.`префикс_extensions` SET `enabled` = '1' WHERE `префикс_extensions`.`extension_id` =432 LIMIT 1

mybash.tk

Способы устранения ошибок в 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 отсутствует, и манипуляции из п.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 FailedDB function failed with error number 1146Table'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 должно начинаться с

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М можно увеличить, но сильно увеличивать не стоит):

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 pathsUnable 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.eldia.org.ua и http://joomla.zvirec.com

ksw.net.ua


Prostoy-Site | Все права защищены © 2018 | Карта сайта