好日子文件夾裏!我打了一堵牆。PHP /的Windows Server/IIS通過符號鏈接訪問通過PHP文件到另一臺服務器上
我試圖讓PHP從文件夾中加載另一臺服務器上的文件,並嘗試了許多方法和權限(IIS/PHP使用Windows身份驗證)的變化,但還沒有找到一個解決方案。我很親密,我可以品嚐它。
的文件是一個文件夾中的其他服務器上例如\\otherServer\my_photos
爲了訪問他們這一點,我已經創建了服務器託管的PHP網站上,例如一個符號鏈接
C:\my_photos > \\otherServer\my_photos
我然後做各種測試,以確定網頁是否具有訪問權限,e.g:
$path = 'C:\\my_photos';
$isReadable = is_readable($path);
var_dump($isReadable);
以上的回報TRUE
。
但是,如果我這樣做:
$path = 'C:\\my_photos\photo_1.jpg';
$isReadable = is_readable($path);
var_dump($isReadable);
它返回FALSE
。
對文件photo_1.jpg
的權限與文件夾my_photos
完全相同,所以我懷疑原因是別的,比如某種安全限制會影響對其他服務器上的文件的訪問,但我不知道。我會以虛擬感謝的方式獎勵任何幫助,甚至願意給你一張帶有個人信息的照片。
UPDATE: 如果我們改用Windows身份驗證關閉,匿名身份驗證上(在ApplicationPoolIdentity下運行),它的工作原理,這似乎表明,A)這不是一些容易混淆的跨服務器的安全問題和b)問題可能會更多地涉及PHP/fastCGI模擬Windows用戶的方式。將切換回Windows驗證並繼續測試!
您可以打開命令提示符或者圖像瀏覽器的形象呢?如果不是,先解決這個問題。 – Nic3500
您不能在另一臺服務器上安裝網絡服務器嗎?生活是很容易的時候這裏只有HTTP參與 – icc97
爲什麼不映射\\ otherServer \ my_photos到服務器上的驅動器盤符?可能比符號鏈接更好。但是,您還需要對所有文件擁有正確的權限,而不僅僅是文件夾本身。它們不一定相同。除非您嘗試使用某種傳遞身份驗證,否則通常應將權限授予應用程序正在運行的帳戶,而不是訪問資源的用戶的帳戶。 – ADyson