我正在使用centos服务器crontab
* * * * * php -q /var/www/domain.com/public_html/script.php
script.php内容:
<?php
require_once( '/var/www/domain.com/public_html/wp-load.php' );
global $wpdb;
$results = $wpdb->get_var("SELECT post_date FROM wp_posts WHERE id = 70");
$fn = "/var/www/domain.com/public_html/file.txt";
$file = fopen($fn, "a+");
fwrite($file, $results."\n");
fclose($file);
?>
当我直接进入:http://www.domain.com/script.php它执行正常并写入文件,当crontab要执行时我没有从db到file.txt写入结果...有什么问题?它似乎不会加载wp-load.php?任何想法?
Crontab正在工作,当我评论wp-load.php它写入文件...
答案 0 :(得分:0)
如果您的系统没有深入了解,这可能与权限有关。什么用户通过Web界面运行此操作,以及哪些用户通过cron
运行此操作?
在任何情况下,您都应该在PHP脚本中进行错误检查:
$file = fopen($fn, "a+");
if (! $file)
print("Oops, cannot open $file\n");
参见例如w3schools提供了此类错误报告的示例。