2014-04-04 149 views
0

我有幾個PHP腳本我試圖設置(最近移動到一個新的服務器),他們將從命令行和通過瀏覽器運行,但只有一個將通過cron運行其他似乎有權限問題,如果文件設置爲644我從cron得到此消息: /bin/sh:/home/xyz/public_html/scripts/update-script.php:權限被拒絕Cron作業PHP腳本失敗,但腳本將通過CLI或通過瀏覽器運行

如果我設置權限爲777我得到這個消息:

/home/xyz/public_html/scripts/update-script.php:線路1:PHP:沒有這樣的文件或目錄

/home/xyz/public_html/scripts/update-script.php:第2行:附近意外的標記語法錯誤' 「包括/ clsDatabase-list.php的」」

/家庭/ XYZ /的public_html /腳本/更新-script.php:第2行:`require_once(「includes/clsDatabase-list.php」);'

但腳本從命令行運行並通過瀏覽器和我有另一個腳本是幾乎相同的這個(要求相同的包括第1行,位於完全相同的文件夾),將通過cron運行!所以我知道我在Cpanel中設置的路徑和cron作業是正確的。如果我複製命令行中的工作文件,複製的版本也無法通過cron運行。謝謝!

+0

顯示您的腳本代碼 – developer

+0

沒有必要,錯誤包含所有必要的信息。 – ThiefMaster

回答

1

你需要一個認領添加到您的文件直接執行它:

#!/usr/bin/env php 
<?php 
//... 

另一種辦法是像這樣在你的cronjob被稱之爲:

* * * * * php /home/xyz/public_html/scripts/update-script.php 

當然你更換* * * * *與實際的crontab數據,除非您希望它每分鐘運行。

+0

Shebang工作!不知道爲什麼一個腳本需要和其他的沒有,也是你的第二個選擇是如何調用腳本,並且不起作用。非常感謝你 – user3498271

相關問題