2016-08-18 7 views
0

У меня есть код на PHP, который работал на сервере, но мы переносим этот код на другой сервер, и теперь этот код не работает, в частности, мы хотим запустить .exe с использованием PHP с инструкцией execIIS не позволяет запускать .exe-файл с помощью команды excec на PHP

Я отлаживаю скрипт, и он выглядит корректно, и пользователь IUSR и IIS_IUSR имеют правильные разрешения и фактически работают exe-файл, но при его запуске необходимо создать некоторые файлы, которые являются причиной, вызывающей проблемы, программа пытается создать файлы в каталоге AppPool, например: C: \ MyPath \ someebsite.com \ 8᪠\ MyProgram \

Где C: \ My Path \ someebsite.com \ является корневым каталогом AppPool, а MyProgram \ является каталогом, создаваемым приложением

Где \ 8а генерируется случайным образом и изменяется все время, когда мы пытаемся запустить программу, отладка с помощью Process Monitor I может получить ошибку: PATH NOT FOUND и/или NAME INVALID, на предыдущем сервере мы меняем пользователя в IIS для запуска скрипта (который был на IIS 6, теперь мы на IIS 8.5), и что файлы были созданы на дому каталог пользователя И без случайной директории, например: C: \ Users \ MyUser \ MyProgram \

, где MyUser является пользователем, которого мы назначили, но на этом новом сервере мы получаем файлы в каталоге AppPool no вопрос, если мы изменим пользователя

Я думаю, что мы сможем решить это, если бы мы смогли определить путь для пользователя IUSR и установить его как «домашний», но я не могу найти, где изменить пользователя IUSR, я знаю, что это встроенный пользователь что создаются IIS, но я не уверен, могу ли я изменить эти настройки для этого пользователя.

я уже упомянуть, что мы использовали IIS, но только в качестве дополнительных данных, мы бежим, что над Windows Server 2012 R2

Любые предложения?

+0

Кстати, файл exe, который мы пытаемся запустить, был разработан для разработчика третьей части, поэтому мы не можем его изменить, и мы не можем «удалить» те файлы, которые созданы или перемещают его местоположение, используя параметры –

ответ

0

Вы тему/вопрос:

IIS does not allow run .exe file using excec command on PHP

что правильное поведение! На самом деле вы не хотите запускать .exe-файлы через PHP. Вы должны сначала предоставить разрешения на выполнение IUSR на cmd.exe, но вы можете также предоставить все разрешения администратора вашего виртуального пользователя.

+0

, как я упоминаю , разрешения в порядке, разрешения администратора не нужны, если вы установите разрешение «выполнение», должно работать –

+0

. Аутентификация вашего сайта установлена ​​на указанный пользователь (IUSR) или идентификатор пула приложений? И ваша личность пула приложений настроена на встроенную учетную запись или пользовательскую учетную запись? –

+0

Я пробовал оба, любой из них работает, также я создаю конкретного пользователя и назначаю его IIS, и он не работает –