からbashスクリプトを実行すると、それは/var/www/myweb/
に保存され、今私は、PHPからtest.sh
呼ば/home/me/
でスクリプトを呼び出すようにしようとしていますindex.php
私はApacheサーバで実行されているPHPのWebページを持っているPHPのWebページ
と呼ばれ、ウェブページ 。それがないすべてが/home/me/
test.shにFILE1作成されます。index.php
内
#!/bin/bash
touch file1
~
~
~
~
を、私はスクリプトを
の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/ –