我有一個PHP網頁由Apache服務器正在運行一個bash腳本,它存儲在/var/www/myweb/
並呼籲index.php
運行從PHP網頁
現在我想調用/home/me/
腳本從PHP叫test.sh
網頁 。它所做的就是上創建一個文件1 /home/me/
test.sh:
#!/bin/bash
touch file1
~
~
~
~
內index.php
,我試圖調用腳本
的index.php:
if ($_GET['run'])
{
exec('/home/me/test.sh');
}
不幸的是,這是行不通的,而且這似乎是權限問題的原因。我繼續嘗試從/var/www/myweb/
/home/me/test.sh
運行這個命令,我得到這個錯誤:
touch: cannot touch ‘file1’: Permission denied
有沒有辦法解決這個問題?
取決於您的系統apache2服務器使用用戶「www-data」或「http」或其他設置。 test.sh必須是可執行的並且具有正確的權限。 –
你有沒有在腳本中使用'cd'或'chdir()'? 'ls -ld/var/www/myweb/home/me'返回什麼?你的代碼可能不會執行你認爲它的地方。 – Amadan
'drwxr-xr-x 29 me me 4096 Mar 27 21:02/home/me/ drwxr-xr-x 4 root www-data 4096 Mar 27 20:22/var/www/html/ ' –