У меня есть несколько сценариев PHP, которые находятся на сетевом ресурсе.Ради аргумента, давайте назовем долю \\nas\dev
.У меня есть веб-сайт на \\w2k3dev\
, настроенный в IIS6, который использует \\nas\dev\
в качестве домашнего каталога, установив «Общий ресурс, расположенный на другом компьютере».
Некоторые из моих сценариев используют shell_exec
для выполнения функцийна сервере и вернуть результаты в мой скрипт.Опять же, ради аргумента, скажем, я просто получаю список каталогов, например, так:
echo shell_exec('dir');
- Если я запускаю скрипт в IIS , яне выводить никаких данных - но также и журналы ошибок.
- Если я настрою Apache на
\\w2k3dev\
и настроу его для использования того же общего ресурса, скрипт будет работать нормально - Если я скопирую сценарий на локальный компьютер и запустлю его через IIS, он будет работать нормально.
Таким образом, проблема возникает только тогда, когда IIS настроен на использование общего сетевого ресурса со сценарием, содержащим shell_exec
.Все остальные аспекты моих скриптов работают нормально.
Профилирование в procmon, я вижу, что cmd.exe работает совершенно по-разному, в зависимости от того, запускается ли он IIS или Apache.У меня есть более подробная информация, но ради краткости я пока опущу их, если кто-то не попросит более подробную информацию.
Большое вам спасибо за то, что посмотрели на это, я в своем уме.
С уважением
Iain