Windows Server 2008 R2 で実行されている IIS 7 の場合 ...で、Web サイトが実行されている をIIS Manager
選択します。Application Pool
「詳細設定」をクリックします。Identity
(セクションの下にあります)のエントリがありますProcess Model
。それをクリックして、共有へのアクセス許可を持つアカウントの資格情報を提供します。
アップデート
Active Directory ドメイン アカウントを使用している場合はIdentity
、実行中のアプリケーション プールに正しく指定したことを確認する必要があります。たとえば、MYDOMAIN\myAccount
.
この変更を行った後、次のことを行う必要があります。
- Web サイトを停止します。
- アプリケーション プールをリサイクルします。
- Web サイトを開始します。
アップデートⅡ
この回答に関するコメントの議論から、@HydroPowerDeveloper は、WebSite -> Basic Settings -> "Connect As" を使用して UNC パス経由でネットワーク共有にアクセスできるように PHP スクリプトを取得し、そこで資格情報を設定することができました。
Identity
これまで、私は常にviaを設定するアプローチを使用しApplication Pool
てきました。これにより、私のコードは UNC パスを介してネットワーク共有にアクセスできました。
ただし、私が展開したすべてのサイト/アプリケーションは、IIS
.NET ベースの WCF または ASPX サイトです。
「Connect As」はPHPスクリプトによって使用されるのに対し、でIdentity
指定されたは.NETコードの実行によって使用されると推測します(ただし、これについては100%確実ではありません。確認するには調査/テストが必要です) 。Application Pool