2013-01-03 52 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