2013-01-03 107 views
0

我有下面的PHP文件,它在浏览器和命令行中运行良好。为什么我的cron作业在directadmin中不起作用?

<?php 

    $ch = curl_init ('http://www.domain.com/test_if_script_runs.php'); 
    $output = curl_exec ($ch); 

?> 

文件test_if_script_runs.php只是增加了一些在数据库中,这样我可以看到脚本运行。

我已经在directadmin中设置了一个cron作业。在输入字段中,我只添加了10分钟,并将所有其他字段留下了星号。

所以问题是,为什么在directadmin的cron工作不工作?

更新1:

我检查了在/ var /日志/ cron中的文件路径是存在的。该文件中没有错误消息。看来,cron工作正常。然而,当我从命令行或浏览器运行cron时没有输出,我检查了文件是否提供了所需的输出。

+0

我从来没有使用管理向导,但我想它会修改crontab中。无论如何...你把php可执行文件的完整路径吗? cron守护进程需要它。 –

+0

@DavideBerra是我用完整的路径。 – BastiaanWW

+0

尝试将脚本末尾的2>&1> /tmp/log.txt添加到cron作业行中。像这样:“/ path/to/php/executable/php /path/to/php/file/page.php 2>&1> /tmp/log.txt”。然后让它运行至少一次并向我们显示/tmp/log.txt的内容 –

回答

0

我不得不把php放在命令前面,以便让php处理文件。我有类似下面:

php /home/admin/domain.com/public_html/script.php 
0

这是我要做的事:

cd /home/user/public_html/any/folder; /usr/local/bin/php -f file.php 
0

这对我的工作:

/usr/local/bin/php /home/<USER>/domains/<DOMAIN>/public_html/script.php