【问题标题】:wordpress - getting a blank page when submitting a commentwordpress - 提交评论时得到一个空白页
【发布时间】:2011-04-22 23:11:07
【问题描述】:

在functions.php中我有这个:

add_action('comment_post', 'comment_posted');

function comment_posted() {
    $MyClass = new MyClass(); //if I comment this line out the problem goes away
}

评论发布成功,但浏览器卡在一个白页上,其 url 如下所示:

http://mydomain.com/wp-comments-post.php#comment-33

在萤火虫中我可以看到:405 Method Not Allowed

我需要在 MyClass php 文件中进行调用,所以我需要它。我在functions.php中的其他函数中使用了该类,所以我不明白为什么在这种情况下会导致黑屏。

编辑 - MyClass 构造函数:

public function __construct()
    {
        $this->someVar='abc';
        mysql_connect("localhost", "dbname", "pwd");
        mysql_select_db("somedb");

    }

【问题讨论】:

  • 在 Firebug 中你能看到用来发表评论的 HTTP 方法吗? GET、POST、PUT 等
  • ...您将多少个 cmets 标记为垃圾邮件?如果有负载尝试删除它们(有一个“清除垃圾邮件”按钮)
  • 我看到 POST wp-cmets-post.php 和 GET wp-cmets-post.php#comment-33
  • MyClass 的构造函数是做什么的?
  • 投票 - 当我注释掉 MyClass 构造函数中的 3 行时,它起作用了!问题是我需要这 3 行。在上面添加它们。

标签: php wordpress comments


【解决方案1】:

处理 PHP 时出现空白屏幕(无论是否是 Wordpress)通常是 PHP 错误的标志。你有turned on your error logs吗?您是否看到任何错误消息?

您说您注释掉了构造函数中的行并且它有效。这使我倾向于数据库连接问题。或者,可能是没有类字段,someVar

看看这些东西,然后在这里报告。我会尽我所能提供帮助。

【讨论】:

  • 感谢您的帮助。这绝对不是 MyClass 的问题(它用于其他功能)。打开错误给我这个:警告:无法修改标头信息 - 标头已发送(输出开始于/home1/path/wp-content/themes/mytheme/functions.php:210)
  • 在那之前有什么吗?该错误通常发生在另一个写入页面的 PHP 错误之后,这是标头已发送消息的原因。你能把你的两个文件都发上来吗?
  • 实际上我刚刚清除了一个关于未定义变量的 php 警告。现在我根本没有收到任何警告。我仍然得到空白页,并且评论仍然正确发布(我必须点击返回按钮才能看到它)
  • 尝试注释掉构造函数中的每一行,一次一行(从底部开始),看看哪一行会抛出空白页。
  • 就是这一行:mysql_select_db("somedb");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多