无法从cron运行php脚本

时间:2015-08-23 05:13:53

标签: php mysql apache cron wget

我在ubuntu 14.04上运行LAMP系统。我有一个使用php的RSS源,每1小时运行一次,MySQL存储数据。我的php文件曾经在cron中使用php完美地运行了大约15天但它不再工作了

我的cron如下

0 * * * *  /usr/bin/php /var/www/html/rss.php >/dev/null

我的php脚本在浏览器(firefox / chrome)

中运行良好

当我在cron中使用wget运行php脚本时,它可以正常工作

0 * * * *  wget http://www.mywebsite.com/rss.php >/dev/null

1 个答案:

答案 0 :(得分:1)

您的脚本正在使用亲戚路径。

在浏览器中打开此脚本时,它会尝试在/var/www/html/中找到文件。

当您在cron中执行此操作时,它会尝试在/中找到文件。

将它放在脚本的开头:

define('ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);

现在更改每个相对包含或开启者:

include ROOT . "db.php"

...

    if (($handle = fopen(ROOT . "tbcatlist.csv", "r")) !== FALSE)