2014-01-24 101 views
1

我试图完成基本设置是使用与PHP PDFTK在IISPHP不能运行的exec()

我试图建立PDFTK我们的内部服务器上用PHP运行进行处理。我已经测试过pdftk通过服务器上的命令工作,但是我无法通过php来运行它。我试图从exec()更改为passthru(),system()shell_exec()只是为了确保它不是特定的。

我找到的主要解决方案是说,IUSR帐户至少需要在system32文件夹中读取&执行权限cmd.exe。我试过这个,它没有改变任何东西。根据我使用的命令,我总是得到“无法分叉”或“无法执行”。

+1

您是否收到任何错误消息?另外,请确保这些函数在您的'php.ini'文件中没有被禁用...... – War10ck

+0

听起来好像'exec()'可能运行的很好,但问题在于'cmd.exe' /'' pdftk'。你可以验证exec()从PHP的角度来看运行良好吗? –

+0

当你执行'exec(“whoami”);' – elitechief21

回答

0

我有这个问题。它是由冲突的IIS设置在这两个位置引起的:

  • 应用程序池>高级设置>流程模型>身份
  • 网站>认证>匿名身份验证

应用程序池设置为一个域用户。这对我们如何运行我们的网站是正确的。

网站身份验证设置为与应用程序池相同的“特定用户”。它应该被设置为“应用程序池标识”。将其更改为“应用程序池标识”后,exec()成功运行。