fastcgi_finish_request()导致WP Cron失败



我的WordPress网站无法运行计划任务。我浏览了wp-cron.php,发现注释掉下面的if语句解决了问题:

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();
}

我的猜测是,使用Unit而不是FastCGI作为应用程序服务器会导致此代码出现问题。

有人能告诉我这是否正确吗?为什么运行此函数会停止脚本其余部分的执行?对这句话发表评论是否安全,或者我应该做出一些不同的改变来解决这个问题?

感谢

根据我所看到的,除了注释这些行之外,没有通过GET请求运行wp-cron.php的变通方法。

但是,您可以通过从命令行运行php /path/to/wordpress/wp-cron.php或设置系统cron(例如,每10分钟(来运行wp-cron.php:

10 * * * * php /path/to/wordpress/wp-cron.php > /dev/null 2>&1

最新更新