我最近在我的Linux機器上設置了我的Apache2服務器。現在我想執行一個PHP腳本(index.php),該腳本運行一個shell腳本(foo.sh),該腳本在我的主目錄中創建一個文件夾,但該目錄未創建。「exec('sh foo.sh')」in PHP not working
這些都是原來的兩個文件:
foo.sh:
#!bin/bash
mkdir /home/lorenzo/testDir
的index.php:
<?php
exec('sh test.sh');
?>
所以,我想也許是因爲特權什麼的問題,並且確實在我將文件更改爲:
foo.sh:
#!bin/bash
echo "Hello world"
的index.php:
<?php
$temp=exec('sh test.sh');
echo $temp;
?>
我看到在我的網站輸出Hello World
。
所以執行PHP腳本並運行shell腳本。但爲什麼shell腳本不能執行mkdir命令?
Apache用戶可能沒有寫入主目錄的權限。 – arco444 2014-10-02 11:02:56
要非常小心 - 你可能會將自己暴露在「shellshocked」的bug中! – 2014-10-02 11:10:22