Intereting Posts
PHP-окна создают скрытые файлы Как отправить октет / поток типа BLOB типа на сервер с помощью AJAX? Заголовок Content-Type: application / octet-stream возвращает встроенный текст / html Laravel – модель запроса, если значения содержат определенную строку (взятую из ввода поиска) как написать функцию Max ($ array), которая возвращает максимальное значение, содержащееся в массиве $, или некоторый массив, вложенный в массив $ array Как обрабатывать частичный HTML? Прослушивание удаления события через PUSH Есть ли функция php, такая как zip python? Как добавить строку строки в инкремент id в любой таблице? jQuery Мобильная проверка формы с ошибкой PHP PHP: как «вырезать» мой массив? Magento Цена доставки зависит от страны. Как я могу это сделать? Драйвер PDO MySQL на Mac Поставщик: Опубликовать – ничего не публиковать для тега – Только на производственном сервере Laravel 4: создать маршрут по умолчанию

Не удается подключиться к сетевому ресурсу

Я пытаюсь подключиться к сетевому ресурсу (его UNC) из браузера, но не могу.

Если я запустил свой сценарий из командной строки, все будет в порядке, и я могу получить доступ к ресурсу. Я также могу перейти к нему через проводник файлов Windows, поэтому я не думаю, что что-то не так с моим кодом или с разрешениями для моей учетной записи Windows.

Мой скрипт выглядит так:

$dir = '\\\\some\path'; if (is_dir($dir)) { echo 'dir exists'; } else { echo 'dir does not exist'; } 

Я также попытался использовать DirectoryIterator($dir) , но это PHP Warning: opendir(...): Access is denied. (code: 5) эту ошибку исключения: PHP Warning: opendir(...): Access is denied. (code: 5) PHP Warning: opendir(...): Access is denied. (code: 5)

Вот моя настройка:
– Windows Server 2008 R2
– IIS 7.5
– PHP 5.3.13
– Анонимная аутентификация отключена
– включена проверка подлинности Windows

И у меня есть настройки в моем php.ini:

 cgi.force_redirect=0 cgi.fix_pathinfo=1 fastcgi.impersonate=1 

Чтобы добавить к путанице, я смог подключиться через браузер в этих сценариях:

1 – использование system("net use \"".$dir."\" ".$pass." /user:".$user." /persistent:no>nul 2>&1"); Но для этого требуется жестко кодировать пароль пользователя Windows, который я не могу сделать.

2 – Установка fastcgi.impersonate=0 Но это означает, что пользователю придется проходить проверку подлинности каждый раз, когда они попадают в скрипт, что неприемлемо.

3 – Включение анонимной аутентификации, отключение проверки подлинности Windows, но мне нужно, чтобы Windows Auth была включена, чтобы узнать, кто обращается к сайту.

Я не знаю, имеет ли это какое-либо отношение к моей проблеме, но я получаю разные значения для $_SERVER['USERNAME'] при запуске моего сценария из браузера и из командной строки.

Это проблема с разрешениями? Есть ли токен аутентификации, который не передается?

редактировать
К сожалению, сопоставление общего ресурса с сетевым диском не является вариантом.