やりたいこととしては
http://www.samle.co.jp/index.phpにアクセスしたらバッチ処理を開始する。
↓
test.sh(処理内容は/root/test/フォルダを作成すること)を実行する
こんな感じです。
「Apacheにはこういう設定をする」
とか
「PHPにはこういうスクリプトを書く」
とか
など、できるだけ具体的に書いていただけるとありがたいです。
よろしくお願いします。
【環境】
Fedora Core6 + Apache2.2 + PHP5
一連の流れといいますか、気をつける点をいくつか。
■PHPでは、system関数にて目的のプログラムを呼び出す。
今回の場合は、test.sh ですよね。
■test.sh が /home/user/test.sh にあれば
system("/home/user/test.sh"); となると思います。
■test.sh がWEBサーバ経由で実行されるため、
apache の起動ユーザが test.sh を実行できるパーミッションの設定が必要です。
基本的には、どのユーザでも test.sh を実行出来るようになっていればOKだと思います。
■WEB(PHP)からの入力で挙動が変わるようにする場合は、
PHP側で入力値のチェックなどが必要になるため、セキュリティ上の事を色々と気にかける必要があります。
■test.sh を実行するユーザが WEBサーバのユーザのため、
作成したいディレクトリの場所が、WEBサーバのユーザに権限がなければなりません。ここが一番見落としがちになるかと思います。
今回の場合、/root/test ディレクトリを作成するのでしたら、
/root 以下に、WEBサーバ実行のユーザが書き込める必要があります。
URLが必須になっているので、
system 関数で検索したページをはっておきます。