У меня есть простой скрипт PHP, который работает на сервере IIS 6 2003. Все, что делает скрипт, это пытается открыть файл в общей сетевой папке и отобразить его содержимое на экране. Попробуйте, как я мог, я не могу заставить это работать. Я продолжаю получать сообщение об ошибке «Не удалось открыть поток». После долгих чтений (я уже на второй неделе работаю над этим), я сузил проблему до проблемы конфигурации сервера. Я могу запустить скрипт через командную строку, и он работает нормально. Если я запускаю var_dump (shell_exec (‘whoami’)), он возвращает «NULL». Если я запускаю ту же команду в командной строке, она возвращает текущего пользователя, который вошел в систему (то есть меня). Диспетчер задач сообщает, что пользователь для w3wp.exe — «NETWORK SERVICE». Я включил приведенный ниже код, хотя я на 100% уверен, что код не проблема, но некоторые люди любят смотреть на код, так что он есть. Как вы настраиваете или вносите изменения на сервере, чтобы он мог читать из сетевого расположения? Кроме того, сетевое местоположение, к которому я пытаюсь получить доступ, было настроено со всеми разрешениями для всех, чтобы мы могли решить эту проблему.
<?php
$theFile="\\\\192.168.0.16\\geo\\junk.txt"; #network file does not works
#$theFile="junk.txt"; #local file works fine
$handle = fopen($theFile, "r");
if($handle){
while (!feof($handle)){
$buffer = fgets($handle);
echo $buffer."<br />";
}
}
?>
Задача ещё не решена.
Других решений пока нет …