设置:
我有一个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
?
任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
您需要手动加载Wordpress函数,才能在自定义脚本中使用它们。
require_once("../../../../wp-load.php");
也在这里深入回答,