在Joomla中添加新文章时,DB函数报告没有错误!

时间:2009-08-06 16:18:14

标签: php mysql joomla joomla1.5

  

可能重复:
  500 - An error has occurred! DB function reports no errors when adding new article in Joomla!

我有一篇文章要发布在我的Joomla上!现场。每次我点击申请或保存。我收到错误500 - An error has occurred! DB function reports no errors。我不知道为什么会出现这个错误,我可以认为这是一个服务器错误。

我正在使用TinyMCE与Joomla一起输入文章! 1.5.11。

更新:我在Joomla中打开了最大错误报告!在文章管理器中,我试图保存文章,并得到了这些错误。请检查截图

alt text http://techportal.co.za/images/articles/error.png

我尝试添加

<?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);
?>

在Joomla的index.php页面的顶部!但它没有显示任何错误。我检查了服务器上的错误日志,也没有出现错误。

我设法通过phpMyAdmin发布文章,但随后发生了其他事情。我尝试通过单击文章的链接从前端访问文章,但只出现一个空白页。

这真的很奇怪,因为错误日志没有显示任何信息。所以我认为错误需要来自Joomla!

如果我在if (!$row->check()) {

之前添加print_r($ _ POST),就会发生这种情况
    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
)

3 个答案:

答案 0 :(得分:4)

/administrator/components/com_content/controller.php(约693)

中抛出异常
if (!$row->check()) {
    JError::raiseError( 500, $db->stderr() );
    return false;
}

check()函数仅在两种情况下返回false:titleintrotext为空。

在您的情况下,我要做的是编辑上面的controller.php文件,并在出现错误之前回显var_dump $row。可能没有数据来自$_POST


修改:您$_POST的文章似乎没有被发送过。这很可能是因为与提交数据的表单有关。在您尝试创建文章的页面上,查看HTML源代码。在我的Joomla安装中,textarea名为"text"。确保它具有该名称,并且该表单中的任何其他内容均未命名为"text"

答案 1 :(得分:0)

500错误通常是由PHP引起的致命错误。 您的服务器可能显示已禁用的错误,因为用户不应看到这些错误。

将它放在php代码中的某处,检查是否有任何PHP错误:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>

答案 2 :(得分:0)

这是一个致命的服务器错误。在我们知道错误消息之前,我们无法解决您的问题,因此第一步是查看日志文件并打开调试输出以查看错误消息是什么。

要启用所有调试输出,请将以下代码添加到页面顶部:

<?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);
?>

您似乎正在尝试在管理员中添加内容文章。

在类似693的components / com_content / controller.php中,我们看到引发错误,因为您尝试保存的数据无效。要么你安装了一个搞乱joomla的扩展,要么通过其他方法系统不稳定。

我建议删除扩展程序;如果这没有帮助,重新安装Joomla来解决您的问题。