2013-05-15 59 views
0

我試圖設置一個cronjob,它在運行時向我發送一封電子郵件。PHP CronJob不起作用

,當我通過膩子執行使用ssh命令文件,它的工作原理,它也可以當我將它設置爲一個URL,但使用絕對路徑設置時無法正常工作。

這裏是所有我試過至今: 是否工作:

* * * * * http://example.com/cron/cron.php 

不起作用:

* * * * * php /var/www/clients/client2/web6/web/global/cron/cron.php 

    * * * * * /var/www/clients/client2/web6/web/global/cron/cron.php 

    * * * * * /usr/bin/php /var/www/clients/client2/web6/web/global/cron/cron.php 

所有3,我在 '不工作' 上市當通過PuTTY作爲命令執行時工作

文件權限全部被整理出來,並且對於cron文件和它所在的目錄是777.

我使用IspConfig3和Debian和Apache2的,如果該事項

編輯:這裏是在cron.php代碼:

#!/usr/bin/php 
<?php 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'From: Cronjob <[email protected]>' . "\r\n"; 
mail("[email protected]", "Cronjob Complete - ". date('d-m-Y'), "At".date("H:i:s"), $headers); 
?> 

回答

1

運行此找到目錄:

<?php print __FILE__; ?> 

試試這個:

* * * * * php /var/www/clients/client2/web6/web/global/cron/cron.php 

這是我crons在我的網站是如何工作的。

+0

也沒有工作,也不明白爲什麼它可以工作,因爲客戶端不是根dir –

+0

什麼是根目錄? –

+0

/,希望有道理 –

1

你可能有一些相對的包括在你的PHP文件。 所以:

  • 變化在你的PHP文件的絕對路徑的路徑,
  • 或第一招在你的cronjob的目錄,然後執行PHP文件。你可以通過像這樣執行cronjob來完成:cd/var/www/clients/client2/web6/web/global/cron /; PHP cron.php

希望這有助於。

+0

不,使用任何的cron文件的心不是包括大氣壓。它只是試圖郵寄給我。 –

+0

然後,你似乎將cronjob添加到沒有權限執行腳本的用戶。 –

+0

所有與cronjob相關的文件都有權限0777 –

1
          • [USER]的/ usr/local/bin中/ PHP的/var/www/clients/client2/web6/web/global/cron/cron.php

用戶必須有權限執行腳本。 另外,如果沒有幫助,檢查日誌:尾-f /無功/日誌/ cron的

+0

是否按照原樣鍵入[USER]或者是否替換它與什麼? –

+0

放置一個有權執行腳本的用戶名。 它可能與您用於SSH的用戶相同。 * * * * * username/usr/local/bin/php script.php –

+0

root/usr/bin/php /var/www/clients/client2/web6/web/global/cron/cron.php << is這應該如何看起來像? –