0

Доступ к сетевым ресурсам Windows из PHP

Столкнулся с проблемой, нужно было прочитать содержимое папки, которая находится в сети. Например, для поиска в удалённой папке файлы по маске. Штатные функции opendir и glob не помогали. Я перепробовал всё: и подключал сетевой диск, и вызывал консольные команды, и попытался задействовать Windows Scripting через COM. Ничего не помогало.

Оказалось, чтобы заработали функции glob и opendir с сетевыми ресурсами Windows нужно сделать 2 вещи:

  • Запускать apache от имени пользователя с правами администратора
  • Установить локальную политику безопасности «Сетевой доступ: запретить анонимный доступ к именованным каналам и общим ресурсам» в отключено. Или выставить её в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\RestrictNullSessAccess = 0

Вот и всё. Плохо, конечно, что Apache запускается от имени администратора.

Ссылки по теме: https://bugs.php.net/bug.php?id=25805

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *