4

フリークオリティのためにシェル スクリプトを実行する必要があるゲーム サーバーがいくつかあります。同じサーバー上の Web ページを介してこれらのスクリプトを実行する方法を見つけようとしています。Ubuntu専用サーバーです。

手動で実行する必要がある/var/www/....sh ファイルは、/home/amservers/.../start.sh.

他の回答を見ましたが、まだわかりません。ファイルを見つけて保存し、exec() を実行するにはどうすればよいですか?

4

3 に答える 3

9

PHP で shell_exec() 関数を使用できます。

http://php.net/manual/en/function.shell-exec.php

shell_exec('sh script.sh');

変数 (bash では $1、$2 など) を使用する場合は、次のように入力します。

shell_exec('sh script.sh variable1 variable2');
于 2013-06-30T18:06:03.190 に答える
0

単純に使用できるよりも、ブラウザでスクリプトの出力を確認したい場合

var_dump(shell_exec('sh script.sh'));

また

var_dump(shell_exec('sh script.sh variable1 variable2'));

于 2015-04-26T12:26:24.573 に答える
0

絶対パスまたは相対パスのいずれかを使用できます。相対パスの場合、現在のディレクトリは通常 PHP ファイルのディレクトリです。絶対パスでもスクリプトにアクセスできない場合は、ファイル システムのアクセス権に問題がある可能性があります。通常、PHP スクリプトは Web サーバーの (システム) ユーザー アカウントとして実行されることに注意してください。

シェル スクリプトは、アプリケーション ツリーの近くまたは内部に保存して、ファイル システムのセキュリティをあまり損なうことなく、PHP スクリプト (つまり、Web サーバー) へのアクセスを許可できるようにする必要があります。

于 2013-06-30T18:48:37.920 に答える