1

次の問題で立ち往生しています: 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。

誰かが私を助けてくれることを願っています。

4

0 に答える 0