除了我previous question,另一個問題出現了,我決定做一個新的問題吧:PHP +運行bash腳本來創建文件
我目前正在調用PHP腳本,比運行bash腳本。 PHP腳本的樣子:
chdir('/home/');
$output = shell_exec('./do.sh');
echo "<pre>$output</pre>";
的do.sh包含:
#! /bin/bash
echo 12;
dd if=/dev/urandom of=test.test bs=1048576 count=2
是以下問題:
當我打電話./do.sh
從終端一切正常:test.test是創建和輸出是12
但是,當我從我的PHP文件調用它時,輸出爲12
,但也是否文件正在創建中。由於我對bash腳本幾乎一無所知,我不知道爲什麼會發生這種情況......
這可能是因爲PHP運行的用戶對'/ home /'目錄沒有寫入權限。您必須'chmod nnn/home',其中'nnn'是適當的權限結構 - 請記住儘可能限制它。您可能需要查看所有權和組成員身份以獲得最佳設置。要測試你可以'chmod 777/home',並且如果它有效,那麼你有你的答案。 – DaveRandom
非常感謝!我沒有忘記爲主文件夾設置正確的權限。我只想到實際的php文件,並改變了它的權限,但沒有做同樣的文件夾!我希望你不要在意我標記@ dAm2K的答案,因爲他還建議看看權限! – Andrej
不用擔心... ;-) – DaveRandom