C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: PHP+IIS6でバッチファイルが実行できません。


(過去ログ 44 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■23325 / inTopicNo.1)  PHP+IIS6でバッチファイルが実行できません。
  
□投稿者/ さんた (6回)-(2008/08/12(Tue) 19:21:40)

分類:[Windows 全般] 

現在、Apacheで実行しているプログラムをIISへ移行中なのですが、
WEB経由でのBATファイルの実行が出来なくて困っています。

動作していた環境はApache+Windows2003+PHP5で、
IE上の実行ボタンを押すと、共有サーバからBATファイルとZIPファイルをダウンロードして、
PHPのexec関数でBATファイルを実行し、unzip.exeでZIPファイルを展開するプログラムです。

動作しない環境はIIS6+Windows2003+PHP5で、処理としては上述のものと同じです。

Googleで検索したところIISでBATファイルを実行するには設定が必要との情報は見つかりましたが、
実際にどういう設定をすれば良いのかわかりませんでした。

上記の環境でBATファイルを実行するにはどのような設定をすれば良いか教えてください。
よろしくお願いします。
引用返信 編集キー/
■23327 / inTopicNo.2)  Re[1]: PHP+IIS6でバッチファイルが実行できません。
□投稿者/ やじゅ (534回)-(2008/08/12(Tue) 19:49:42)
やじゅ さんの Web サイト
2008/08/12(Tue) 19:57:02 編集(投稿者)
2008/08/12(Tue) 19:54:25 編集(投稿者)

No23325 (さんた さん) に返信
> Googleで検索したところIISでBATファイルを実行するには設定が必要との情報は見つかりましたが、
> 実際にどういう設定をすれば良いのかわかりませんでした。
>


cmd.exeに対して、IUSR_コンピュータ名に実行権限を与える必要があるのかな

IIS6.0でのASP実行ユーザー
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27156&forum=7
バッチファイルの起動について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7879&forum=7&start=10
引用返信 編集キー/
■23331 / inTopicNo.3)  Re[2]: PHP+IIS6でバッチファイルが実行できません。
□投稿者/ さんた (8回)-(2008/08/12(Tue) 20:41:21)
No23327 (やじゅ さん) に返信
> 2008/08/12(Tue) 19:57:02 編集(投稿者)
> 2008/08/12(Tue) 19:54:25 編集(投稿者)
>

回答ありがとうございます。

> cmd.exeに対して、IUSR_コンピュータ名に実行権限を与える必要があるのかな
cmd.exeにインターネットゲストアカウントを追加しフルコントールを付与してみましたが、実行できませんでした。
実行するBATファイルとフォルダにも同じ権限を与えてみましたが、やはり実行できませんでした。

追記、
ネットにIIS4の場合は「C:\WINNT\system32\Cmd.exe /c %s %s 」を追加するとあったので、
IIS6の該当箇所と思われる、ホームディレクトリ>構成 を開いて追加しましたが、まだ実行できませんでした。
もちろん、パスはWindows2003用にあわせています。

よろしくお願いします。
引用返信 編集キー/
■23332 / inTopicNo.4)  Re[3]: PHP+IIS6でバッチファイルが実行できません。
□投稿者/ 黒龍 (119回)-(2008/08/12(Tue) 20:47:33)
ん〜おそらくワーカプロセスが動いているアカウントに対しての権限になると思います。
Webアプリからのプロセス起動はセキュリティ的にお勧めはできませんけどね。
引用返信 編集キー/
■23333 / inTopicNo.5)  Re[4]: PHP+IIS6でバッチファイルが実行できません。
□投稿者/ さんた (10回)-(2008/08/12(Tue) 20:59:32)
No23332 (黒龍 さん) に返信

回答ありがとうございます。

> ん〜おそらくワーカプロセスが動いているアカウントに対しての権限になると思います。
IIS6はFastCGIforIISを入れてPHPをCGIとして動かしているので、エブリワンになるという事ですか?
と、勝手に解釈してエブリワンにもフルコントロールを付与してみましたが、まだ実行できませんでした。

> Webアプリからのプロセス起動はセキュリティ的にお勧めはできませんけどね。
はい、私もそのように感じてはいるのですが、既存仕様のため私の意見は黙殺されましたw

何とか既存動作をIISでも実現させたいので、よろしくお願いいたします。
引用返信 編集キー/
■23568 / inTopicNo.6)  Re[5]: PHP+IIS6でバッチファイルが実行できません。
□投稿者/ さんた (11回)-(2008/08/18(Mon) 18:38:49)
解決しました。

cmd.exeのセキュリティにIIS経由のユーザを追加し、読み取りと実行の許可を与えて、
PHP側のexecで呼び出す箇所を、「exec("aaa.bat")」から「exec("cmd.exe /c aaa.bat")」とすることで実行できました。
どうやら、Apacheではcmd.exeの指定は要らないが、IISではcmd.exeの指定が必要なようです。
ご回答くださいました、やじゅさん・黒龍さん ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -