1

php5.3 exec 関数を使用して、コマンドラインからクッキーカッター r-script を実行しています。ユーザーがデータを選択すると、php がスクリプトを実行し、ユーザーは高解像度のグラフィックをダウンロードできるようになります。これを apache を使用してローカル テストベッドで実行したところ、すべて正常に動作しましたが、運用サーバーは IIS7 を搭載した Windows Server 2003 です (制御できないもの)。IIS7 のようですが、デフォルトでは、php は cmd.exe にアクセスできません。「calcs」コマンドを使用して cmd.exe へのアクセス許可を変更しようとしましたが、成功しませんでした。

exec 関数を使用してコマンドラインにアクセスする権限を php に与えるにはどうすればよいですか?

PS 分かった、分かった、分かった。exec 関数で実行されているユーザー入力はありません。R の高解像度グラフィックスとデータ処理機能を利用したいだけです。

関連する詳細:

  • OSはWindows Server 2003 64bit
  • IIS7
  • サーバーは Amazon EC2 インスタンスです
  • (LAMP スタックの Amazon インスタンスで同様のことを行っている人がいると聞いたので、これが Amazon の問題であるとは思いません)

編集:問題は、何らかの理由でIUSRがコマンドラインで「開始」コマンドを使用する権限を持っていなかったことです。

REM commands below did not work
start "Path to .exe" "File to process"
start "" "Path to .exe" "File to process"

REM this one did however
"Path to .exe" "File to process"
4

1 に答える 1

0

これはIISの問題だと思います(ローカルにインストールしてテストできます)が、匿名認証で実行する場合は、匿名ユーザーを通常のユーザー(cmd.exeを起動する権限を持つ)に変更する必要があります。制限付きアカウントでも実行される場合があるため、アプリケーション プール ユーザーの ID も確認してください。

于 2012-09-17T17:54:32.770 に答える