Возможный дубликат:
500 - произошла ошибка! Функция DB сообщает об ошибках при добавлении новой статьи в Joomla!
У меня есть статья, которую я хочу опубликовать на моей Joomla! сайт. Каждый раз, когда я нажимаю применить или сохранить. Я получаю ошибку 500 - An error has occurred! DB function reports no errors
500 - An error has occurred! DB function reports no errors
. Я понятия не имею, почему возникает эта ошибка, но я могу думать, что это ошибка сервера.
Я использую TinyMCE, чтобы печатать статьи вместе с Joomla! 1.5.11.
Обновлено: я включил Максимальный отчет об ошибках в Joomla! и в менеджере статей я попытался сохранить статью и получил эти несколько ошибок. Пожалуйста, проверьте скриншот
(источник: techportal.co.za)
Я пытался добавить
<?php
ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors',TRUE);
ini_set('html_errors',TRUE);
ini_set('display_errors',true);
?>
вверху страниц index.php для Joomla! но это не показывает никаких ошибок. Я проверил журналы ошибок на сервере, а также никаких ошибок не возникает.
Мне удалось опубликовать статью через phpMyAdmin, но потом произошло другое. Я пытаюсь получить доступ к статье из внешнего интерфейса, нажав на ссылку на статью, но появляется только пустая страница.
Это действительно странно, так как журнал ошибок не показывает никакой информации. Поэтому я предполагаю, что ошибка должна исходить от Joomla!
Это происходит, если я добавлю print_r ($ _ POST) раньше if (!$row->check()) {
Array
(
[title] => Test.
[state] => 0
[alias] => test
[frontpage] => 0
[sectionid] => 10
[catid] => 44
[details] => Array
(
[created_by] => 62
[created_by_alias] =>
[access] => 0
[created] => 2008-10-25 13:31:21
[publish_up] => 2008-10-25 13:31:21
[publish_down] => Never
)
[params] => Array
(
[show_title] =>
[link_titles] =>
[show_intro] =>
[show_section] =>
[link_section] =>
[show_category] =>
[link_category] =>
[show_vote] =>
[show_author] => 1
[show_create_date] => 0
[show_modify_date] => 0
[show_pdf_icon] =>
[show_print_icon] =>
[show_email_icon] =>
[language] =>
[keyref] =>
[readmore] =>
)
[meta] => Array
(
[description] => Test.
[keywords] => Test
[robots] =>
[author] => Test
)
[id] => 58
[cid] => Array
(
[0] => 58
)
[version] => 30
[mask] => 0
[option] => com_content
[task] => apply
[ac1e0853fb1b3f41730c0d52de89dab7] => 1
)
Исключение составляет здесь /administrator/components/com_content/controller.php
(около 693)
if (!$row->check()) {
JError::raiseError( 500, $db->stderr() );
return false;
}
Функция check()
возвращает только false в двух случаях: либо title
, либо introtext
пусты.
Что бы я делал в вашем случае, это отредактировать файл controller.php
выше и echo a var_dump
of $row
до появления ошибки. Возможно, из $_POST
не поступает никаких данных.
Изменить. Похоже, что в вашем $_POST
не отправляется тело вашей статьи. Это, скорее всего, связано с тем, что связано с формой, которая передает данные. На странице, где вы пытаетесь создать статью, посмотрите исходный код HTML. В моей установке Joomla текстовое поле называется "text"
. Удостоверьтесь, что у него есть это имя, и что ничто в этой форме не называется "text"
.
Это фатальная ошибка сервера. Мы не можем решить вашу проблему, пока не узнаем, что такое сообщение об ошибке, поэтому первым шагом будет просмотр файлов журнала и включение отладочного вывода, чтобы узнать, что такое сообщение об ошибке.
Чтобы включить весь вывод отладки, добавьте следующий код в начало страницы:
<?php
ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors',TRUE);
ini_set('html_errors',TRUE);
ini_set('display_errors',true);
?>
Похоже, вы пытаетесь добавить статью в админ.
В компонентах /com _content/controller.php, например, 693, мы видим ошибку, потому что данные, которые вы пытались сохранить, недействительны. Либо вы установили расширение, которое испортило joomla, либо каким-либо другим способом система нестабильна.
Я рекомендую удалять расширения; если это не поможет, переустановите Joomla, чтобы исправить вашу проблему.
500 ошибок часто являются фатальной ошибкой, вызванной PHP. Вероятно, ваш сервер отключен, поскольку пользователи не должны видеть эти ошибки.
Поместите это где-нибудь в свой PHP-код и проверьте, не видны ли какие-либо ошибки PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>