次の問題で立ち往生しています: PHP を使用して sh スクリプトを実行しようとしています。
私の試み: 他のコマンドを実行できます。例として、「cat」プログラムを実行して、実行したいスクリプトを表示できます:<?php echo exec("cat /srv/web/scripts/start_server.sh"); ?>
次のスニペットは機能しません:
<?php echo `/srv/web/scripts/start_server.sh`; ?>
<?php echo `sh /srv/web/scripts/start_server.sh`; ?>
<?php exec("sh /srv/web/scripts/start_server.sh"); ?>
<?php exec("/srv/web/scripts/start_server.sh"); ?>
The same with: system(), popen(), proc_open(), passthru(), shell_exec()
スクリプトでさまざまなファイル権限を試しました。rwxrwxrwx と rwsrwxrwx でさえ。PHP は、実行後も実行を継続します。PHP エラーは生成されません。コンソールでスクリプトを開始すると (sh /srv/web/scripts/start_server.sh など)、動作します。単純なスクリプトでテストしました。これはコンソールでは機能しますが、php で実行しようとすると機能しません。
#!/bin/sh
echo hallo > /srv/web/scripts/file.txt
セーフモードは有効になっていません。exec 機能はどこにも無効になっていません。
環境としてはアリックスボードでipfire core 71を使っています。httpd として Apache、php インタープリターとして php5。
誰かが私を助けてくれることを願っています。