2016-08-18 33 views
0

我在PHP上有一个代码在服务器上工作,但我们将该代码迁移到另一个服务器,现在代码无法工作,特别是我们想要运行.exe文件使用PHP执行指令execIIS不允许在PHP上使用excec命令运行.exe文件

我调试脚本,它看起来工作正常,并且IUSR用户和IIS_IUSR具有正确的权限,实际上exe文件正在运行,但是当它运行时它需要生成一些文件是导致问题的部分,程序试图在AppPool目录上创建文件,例如: C:\ MyPath \ somewebsite.com \8áª\ MyProgram \

其中C:\ My路径\ somewebsite.com \是应用程序池根目录MyProgram \是应用程序的创建目录

哪里是随机生成\8áª并改变了这一切,我们尝试运行该程序时,调试用的Process Monitor我可以得到一个错误: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

这是正确的行为!你不想通过PHP运行.exe文件,真的。您必须首先为cmd.exe授予IUSR执行权限,您可以授予您所有虚拟用户的管理员权限。

+0

“删除”创建的文件或移动他的位置,权限正常,管理员权限不是必需的,如果您设置“执行”权限应该可以工作 –

+0

您的网站的身份验证设置为指定用户(IUSR)或应用程序池身份?并且您的应用程序池的标识已设置为内置帐户或自定义帐户? –

+0

我试了两个,他们中的任何一个都在工作,我也创建一个特定的用户,并将其分配给IIS,它不工作 –

相关问题