cron作业无法识别wp函数

时间:2018-12-11 22:56:38

标签: php wordpress cron

设置:

我有一个wordpress网站,但已禁用wp_cron以完全控制cron。

define('DISABLE_WP_CRON', true);

crontab -e中,我有以下cron工作:

*/2 * * * * /usr/bin/php /var/www/cron/mycron.php init >> /var/log/error.log 2>&1

mycron.php具有简单的功能

if (!empty($argv[1])) {        
    switch ($argv[1]){
    case 'init':
        cron_test();
        break;
    }
}
function cron_test() {
    $time = date(DATE_RFC822, time());
    write_log("Start:" . $time);   //outputs debug to my own log file   
};

function write_log($log){
    if ( true === WP_DEBUG ) {
        if ( is_array( $log ) || is_object( $log ) ) {
            write_log( print_r( $log, true ) );
        } else {
            write_log( $log );
        }
    }
};

请注意,我在mycron.php中为wp声明了functions.php

require_once('parts/mycron.php'); 

错误日志:

在我的error.log中,我遇到了以下错误:

PHP Warning:  Use of undefined constant WP_DEBUG - assumed 'WP_DEBUG'

所以,我猜测cron和wp之间存在某种脱节,这是我的最佳猜测。

我要做什么:

mycron.php将具有我需要的许多wordpress功能。我如何使cron识别wp function之类的WP_DEBUG

任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要手动加载Wordpress函数,才能在自定义脚本中使用它们。

require_once("../../../../wp-load.php");

也在这里深入回答,

How to include Wordpress functions in custom .php file?