問題
今天發現在使用計時器的時候,執行一個shell腳本,列印日誌正常,然後在系統中無法查到目前Shell腳本執行的結果。
因為使用的是Web程序,對於Shell呼叫這塊也是新手。以前沒有遇到這種問題,只能靠猜了。
判斷
1、Shell腳本問題。
驗證方式:進入系統控制台,然後直接呼叫腳本,驗證腳本正常。排除腳本本身問題。
2、判斷應該問題來自於權限
驗證方式:進入控制台,查看執行日誌author.log。果然上面提示帳號權限有問題。
ls 查看Shell腳本訊息,發現Web程式的使用者和Shell腳本的權限使用者不是同一個帳號。將其修改為同一個帳號,,再次啟動程序問題解決。
結論:
類似問題基本上都是由以上兩個面向所引起的。有異常的時候多看下日誌,基本上的問題都會印出來的。
更多PHP相關知識,請造訪PHP教學!
以上是解決PHP中Web程式中shell_exec()執行Shell腳本不成功問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!