2014-11-02 109 views
0

我正在我的服務器上運行CMS的演示。在這個演示中,潛在客戶可以嘗試CMS的後端。這就是爲什麼我創建了一個php腳本,它刪除了整個CMS文件夾並將備份複製回來。這樣,每次腳本運行時,演示站點都會被保存。Cronjob導致500內部服務器錯誤

雖然,我想通過cron工作如何做到這一點。 我使用的命令如下(我正在運行CentOS)。

0 * * * * php /home/USER/public_html/replaceCMS.php 

這將替換該文件夾中的所有文件,而且還導致500內部服務器錯誤。 當我使用我的瀏覽器運行腳本時,問題不會出現。

我也試着解壓縮一個.zip並覆蓋到演示文件夾中。用cPanel的文件管理器做到這一點,一切順利。使用unzip -o命令執行此操作會導致相同的錯誤。

你們有沒有人知道怎麼回事?

+0

您是否可以訪問/ home/USER文件夾的用戶運行cron作業?你也確定命令行php正在工作嗎? – JammyDodger231 2014-11-02 21:45:46

+0

我以root用戶身份運行cronjob。命令行php正在工作。 – henkiedoodle 2014-11-02 21:53:31

回答

0

當作業以root用戶身份運行時,這些文件很可能會由root用戶擁有,這與您的Web服務器不同。因此,當您通過瀏覽器調用腳本時,它將以Web服務器的用戶上下文運行,而不是以root身份運行。

您可以通過在命令行上運行ls -l並使用cronjob查看擁有者與使用瀏覽器訪問頁面時的內容來驗證此情況。