Why cron doesn't work to me?

时间:2015-03-23 作者:Gixone

我在centOS 7上,我有一个WordPress网站。由于WordPress默认wp cron设置存在一些问题,我选择用我的服务器执行cron任务。我已使用此命令:

wget http://www.example.com/wp-cron.php?doing_wp_cron=1 > /dev/null 2>&1
每10分钟运行一次。这是可行的,每隔十分钟它就会尝试创建该页面,但它不会生成任何输出,WordPress cron任务也不会执行。

此外,如果我尝试打开页面:http://www.example.com/wp-cron.php?doing_wp_cron=1 我自己在浏览器上看到一个空白页。。。这是一个错误吗?Apache错误日志中没有任何消息。

2 个回复
最合适的回答,由SO网友:Gaia 整理而成

你有吗define(\'DISABLE_WP_CRON\', true); 是否在wp配置中设置?您需要它来让系统cron启动wp cron任务。转到wp config中数据库设置的底部。php,通常在第37行附近,以及add it.

Then setup the system cron to fire up the wp-cron tasks:

*/5 * * * * wget -q -O - "http://example.com/wp-cron.php?t=`date +\\%s`" > /dev/null 2>&1

#Sometimes it might be required to run PHP directly:
*/5 * * * * php /home/$USER/public_html/wp-cron.php
?doing_wp_cron 仅在定义时自动追加ALTERNATE_WP_CRONtrue 在里面wp-config.php. 由于您要完全禁用它,因此需要使用上面的URL,或者使用分配参数的第二个方法。

如果您在开发环境中,并且想要输出调试信息,那么像这样手动调用它将显示您的调试输出。

或者,您可以使用PHP的内置error_log 函数将消息字符串记录到错误日志以进行调试。您需要将此与WP_DEBUG settings.

如果需要进一步的调试帮助,请尝试以下操作question.

SO网友:JesusIniesta

对于因为使用FastCGI而找不到运行方式而访问此页面的用户wp-cron.php

FastCGI问题:

使用FastCGI时,存在阻止wp cron的问题。要从浏览器运行的php。

要修复它,请在wp-cron.php:

请记住,不建议修改核心WordPress文件,因此只有在您知道自己在做什么的情况下才能继续。

Before:

/* Don\'t make the request block till we finish, if possible. */
if (function_exists(\'fastcgi_finish_request\') && version_compare(phpversion(), \'7.0.16\', \'>=\')) {
    if (!headers_sent()) {
        header(\'Expires: Wed, 11 Jan 1984 05:00:00 GMT\');
        header(\'Cache-Control: no-cache, must-revalidate, max-age=0\');
    }

    fastcgi_finish_request();
}
After:

/* Don\'t make the request block till we finish, if possible. */
//if (function_exists(\'fastcgi_finish_request\') && version_compare(phpversion(), \'7.0.16\', \'>=\')) {
//    if (!headers_sent()) {
//        header(\'Expires: Wed, 11 Jan 1984 05:00:00 GMT\');
//        header(\'Cache-Control: no-cache, must-revalidate, max-age=0\');
//    }
//
//    fastcgi_finish_request();
//}

结束

相关推荐

wp-cron: freeze at "now"

抱歉问了这么愚蠢的问题。简单地说,我有一个wp(3.5.1版)博客,使用了一个经过大量修改的(我自己)主题。除了wp cron之外,其他一切都正常工作。列出的作业出现在(例如)crontrol中,时间流逝直到“现在”(这意味着作业应该开始)。无论如何,什么都没有发生:计划的后期冻结在“现在”,我的自定义函数冻结在“现在”,等等。如果我手动运行它,一切都正常(因此没有代码问题)。我尝试禁用wp cron(使用define(\'DISABLE_WP_CRON\', true); 并设置一个自定义wp cron