Невозможно подключиться к сетевой папке
я пытаюсь подключиться к общему сетевому ресурсуs 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)
Вот'мои настройки:
- 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, чтобы узнать, ктоДоступ к сайту.
Я нене знаю, имеет ли это какое-либо отношение к моей проблеме, но я получаю разные значения для$_SERVER['USERNAME']
при запуске моего скрипта из браузера и из командной строки.
Это проблема с разрешениями? Есть ли токен аутентификациине передаются?
редактировать
Сопоставление общего ресурса с сетевым дискомt вариант в этом случае, к сожалению.