2014-01-24 2 views
1

Базовая настройка Я пытаюсь выполнить с помощью Pdftk с PHP на IISPHP не может работать Exec()

Я пытаюсь настройки Pdftk для работы с PHP для обработки на нашем внутреннем сервере. Я тестировал, что pdftk работает через команду на сервере, но я не могу заставить его работать через php. Я попытался перейти от exec() к passthru(), system() и shell_exec(), чтобы быть уверенным, что это не было конкретизировано.

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

+1

Вы принимаете сообщения об ошибке? Кроме того, убедитесь, что эти функции не были отключены в вашем файле 'php.ini' ... – War10ck

+0

Похоже, что' exec() 'может работать отлично, но проблема заключается в дальнейшем в' cmd.exe'/' pdftk'. Можете ли вы проверить, что 'exec()' отлично работает с точки зрения PHP? –

+0

Посмотрите, что вы получаете, когда выполняете 'exec (" whoami ");' – elitechief21

ответ

0

У меня была эта проблема. Это было вызвано конфликтующими настройками IIS в этих 2 местах:

  • пула приложений> Дополнительные параметры> Модель процесса> Идентичность
  • Веб-сайт> Аутентификация> Анонимная проверка подлинности

Приложение бассейн был установлен пользователя домена. Это было правильно для того, как нам нужно было запускать наш веб-сайт.

Аутентификация веб-сайта была установлена ​​на тот же «Конкретный пользователь», что и пул приложений. Должно быть установлено значение «Идентификатор пула приложений». После того, как я изменил его на «Идентификатор пула приложений», exec() успешно прошел.

Смежные вопросы