PHPコード内からシェルスクリプトを実行する方法を学んでいます。そこで、PHP内からbashスクリプトを実行するためのテストプログラムを作成しました。ただし、効果はありません。関連するコードを以下に示します。PHP shell_execコマンドが機能しません
<?php
.......
shell_exec('/bin/bash /var/www/html/just_touch.sh');
?>
just_touch.sh
スクリプトは、次のように新しいファイルを作成するだけです。
touch /home/user/some.txt
実行後にファイル/home/user/some.txt
がありますが、作成されていません。どのような間違い、私はやっている?
P.S:次のコードは機能します。
$output = shell_exec('ls /home/user');
echo $output;
これは許可とは関係ありますか?
さらに、私は、「あなたは私を見ることができますか?」と印刷しています。
$output = shell_exec('echo Can you see me?');
echo $output;
これはありません。
shell_exec('echo Can you see me?')
ここでは何が起こっていますか?
/somedir/just_touch.shへのフルパスを指定してください。 –
まだ動作しません。 Mozillaからどのようなエラーが発生するのかを確認する方法はありますか? – pythonic
Mozillaで何かを見るには、 'shell_exec()'の代わりに 'passthru()'を使います。 http://php.net/manual/en/function.passthru.php –