dポイントプレゼントキャンペーン実施中!

PHPが動作しているサーバAがあります。
そのサーバAから、別サーバ(Windows)に
クライアントより添付ファイルを保存しようとすると、
failed to open stream: Permission denied
と権限エラーになってしまいます。

IISのユーザ(IUSR_XXXX)を変更(偽装?)して、
サーバBに保存することはPHP内で可能でしょうか?

サーバA・BともWindowsXPで、
PHP4.4を使用しています。

A 回答 (1件)

 予想されているとおりに、サーバBのIISサービスにファイル書き込みや実行権限を与えてやればうまくいくでしょう。

ただし、セキュリティレベルは低くなってしまいます。

 サーバB側で、[コントロールパネル]->[管理ツール]->[インターネットインフォメーション サービス]->[既定の Web サイト]->[プロパティ] とダイアログに潜り込んでいき、この既定のWebサイトのプロパティの[ディレクトリ セキュリティ]タブを選択し、[アクセスおよび認証コントロール]の項目の編集ボタンを押します。
 そして、この[認証方法]ダイアログの[匿名アクセス]の項目をチェックし、[参照]ボタンを押し、everyone レベルのユーザー名を[名前の確認]で確認の上、埋め込みます。そして、Administratorの[パスワード]を埋め込み、[OK]ボタンでいったんこのダイアログを閉じます。
 さらに開きっぱなしにいているはずの[インターネット インフォメーション サービス]ダイアログ上の[既定の Web サイト]を選択し、[メニュー]->[操作]->[停止]と[メニュー]->[操作]->[開始]を選択して、規定のWebサイトを再開します。

 私はネットブックのローカルホスト環境でAdministrator 権限のユー
ザーに匿名アクセスを許可してIIS & Appache & PHP5 で開発していますが、この[アクセスおよび認証コントロール]まで見つけるのに大変手こずりました。

この回答への補足

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

実際に上記設定を行い動作させて見ましたが、解決できませんでした。
ほかに何か原因があると思われますので、調査してみたいと思います。

何か予想されることなどありましたら、
引き続き回答をお願いいたします。

補足日時:2010/01/13 15:28
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!