[ PHP ] – PHP run shell script error sudo: no tty present and no askpass program specified

shell_exec() 可以讓php執行外部指令, 但會遇到權限問題以下為解法。
這邊要備註一下,如果你的 shell script 在command line下是可正常執行,透過 shell_exec()來執行卻不作動百分之九十是這個問題;
當初要查的時候一直接到 null這個值,你可以裡面指令不變 但改用exec()去執行就可以接到系統回傳的錯誤碼。

指令:sudo visudo

在下方加入
apache ALL=(ALL) NOPASSWD: /bin/sh /home/jeff/test.sh
www-data ALL=(ALL) NOPASSWD: /bin/sh /home/jeff/test.sh

這樣就可以正常執行shell script

如果我的文章有幫助到您的話,請幫我點擊廣告,一天最少需有五人點擊廣告才有足夠經費繼續經營下去,感謝! ⇩⇩⇩ 如果我的文章有幫助到您的話,請幫我點擊廣告,一天最少需有五人點擊廣告才有足夠經費繼續經營下去,感謝! ⇧⇧⇧

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *