解決PHP中Web程式中shell_exec()執行Shell指令碼不成功問題

2020-07-16 10:06:08
問題

今天發現在使用定時器的時候,執行一個shell指令碼,列印紀錄檔正常,然後在系統中不能查到當前Shell指令碼執行的結果。

因為使用的是Web程式,對於Shell呼叫這塊也是新手。以前沒有遇到過這種問題,只能靠猜了。

判斷

1、Shell指令碼問題。

驗證方式:進入系統控制台,然後直接呼叫指令碼,驗證指令碼正常。排除指令碼本身問題。

2、判斷應該問題來自於許可權

驗證方式:進入控制台,檢視執行紀錄檔author.log。果然上面提示賬號許可權有問題。

ls 檢視Shell指令碼資訊,發現Web程式的使用者和Shell指令碼的許可權使用者不是同一個賬號。將其修改為同一個賬號,,再次啟動程式問題解決。

結論:

類似問題基本上都是由以上兩個方面引起的。有異常的時候多看下紀錄檔,基本上的問題都會列印出來的。

以上就是解決PHP中Web程式中shell_exec()執行Shell指令碼不成功問題的詳細內容,更多請關注TW511.COM其它相關文章!