[ 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

!去下營經續永站本助幫能就下一點輕輕,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,輕輕點一下就能幫助本站永續經營下去!

發佈留言

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