我試圖在PHP中使用exec(),當通過Web瀏覽器和通過命令行shell使用它時,我得到了不同的結果。PHP exec()通過Web調用CLI CLI
簡單的事情:
<?php exec('mount 10.0.0.1:/mnt/test /home/user/test', $output) ?>
在沒有web瀏覽器導致調用此安裝,並在安裝通過命令行運行它(PHP-CLI)結果被成功執行。 也沒有錯誤被返回到$ output數組。所以我沒有任何要走的路。 我正在將網絡和cli作爲同一用戶運行,因此它不應該是權限問題。 SElinux被禁用,因此不會阻塞任何東西。防火牆也是如此 - 禁用也是如此。
我該如何讓PHP exec()在Web瀏覽器中通過命令行執行相同的操作?
確保用戶名在其下您的Web服務器運行具有足夠的權限。 – 2013-01-21 04:05:36
我幾乎給了該用戶的完全權限。從該用戶的命令行運行相同的PHP腳本,它工作得很好。所以我有點困惑。在Apache中有一個設置可以阻止某些命令嗎?我可以自己運行「掛載」,它通過網絡向我顯示所有當前掛載。通過Web調用該PHP腳本時,無法安裝任何驅動器。 – airtruk
如何以特定用戶身份運行Web腳本? – Joe