2013-02-10 53 views
0

運行PHP腳本,所以這是我的cronjob用的cronjob

PATH=/package/host/localhost/php-5.4.7-1/bin:/bin:/usr/bin 
PHPRC=/home/stuff/etc 
* * * * * php /home/stuff/private/xFEklnTekl/cmd.php 

,這是cmd.php文件

<?php 
$c = file("c.txt"); 
$f = fopen("c.txt", "w+"); 
$g = $c[0]+1; 
fwrite($f, $g); 
fclose($f); 
?> 

可悲的是它不更新的c.txt文件,因爲它應該。我認爲PHP腳本中給定的路徑有些問題。我已經嘗試過/c.txt,但它也沒有工作。那麼,什麼可能是錯的?

+0

從命令行調用cmd.php - 任何輸出?它工作嗎? – 2013-02-10 23:46:10

+0

也許從命令行運行它的@Dagon文本文件 – Sedz 2013-02-10 23:52:18

+0

的權限完美無缺。我不確定cronjob從哪裏運行php文件,這就是爲什麼我不知道指向c.txt文件的位置。 – albin 2013-02-10 23:55:22

回答

1

您的crontab不應包含除cronjob之外的任何內容。嘗試使用這個:

* * * * * /bin/php /home/stuff/private/xFEklnTekl/cmd.php 

並確保您有+ x權限執行,以及crontab用戶有權訪問該目錄。

而且,把完整路徑在

$c = file("c.txt"); 
$f = fopen("c.txt", "w+"); 

$c = file("/home/stuff/private/xFEklnTekl/c.txt"); 
$f = fopen("/home/stuff/private/xFEklnTekl/c.txt", "w+"); 

編輯 上的評論可見,而不是/bin/php你使用任何來自which php來。在你的情況下,

* * * * * /package/host/localhost/php-5.4.4/bin/php /home/stuff/private/xFEklnTekl/cmd.php 
+0

我剛收到一封郵件說'/ bin/sh:bin/php:沒有這樣的文件或目錄',做了並檢查了其他所有內容,但仍然無法正常工作。感謝壽! – albin 2013-02-11 00:06:53

+0

你放在crontab中的命令應該可以工作。所以你首先確定它的工作原理,然後把它放在crontab中。要知道php的路由,請輸入'which php'。它會像'/ bin/php','/ usr/bin/php'等一樣。這是你必須用來執行你的腳本的路徑。 – fedorqui 2013-02-11 00:08:18

+0

謝謝! '* * * * * /package/host/localhost/php-5.4.4/bin/php/home/albin/privacy/xFEklnTekl/cmd.php'完美運行! – albin 2013-02-11 00:14:35