Windows 关于使用php运行外部exe的IUSR权限';行政长官()

Windows 关于使用php运行外部exe的IUSR权限';行政长官(),windows,batch-file,iis,cmd,permissions,Windows,Batch File,Iis,Cmd,Permissions,你好,堆栈溢出器 我一直在为我的雇主做一个项目,用PrintShop Mail Suite 7应用程序将文档自动打印成一个可行的PDF文件 我想象的过程如下: cd E:\Printshop\Template copy /y Reisbureau.psmd order_67.psmd start "" "C:\Program Files (x86)\PrintShop Mail Suite 7\PrintShop Mail\PSMail.exe" order_67.psmd -db "exp

你好,堆栈溢出器

我一直在为我的雇主做一个项目,用PrintShop Mail Suite 7应用程序将文档自动打印成一个可行的PDF文件

我想象的过程如下:

cd E:\Printshop\Template

copy /y Reisbureau.psmd order_67.psmd

start "" "C:\Program Files (x86)\PrintShop Mail Suite 7\PrintShop Mail\PSMail.exe" order_67.psmd -db "exportFile.xml" -pt "PDFCreator"
您可以使用PHP应用程序创建订单,该应用程序从MSSQL数据库中检索数据,然后将数据保存在MSSQL数据库中

同一应用程序从持久化的SQL条目生成一个临时XML文件,该条目可由应用程序PrintShop Mail与模板文件一起读取

我的流程的下一步是从这个应用程序运行一个批处理文件,它在PHP应用程序文件夹中指定的文件夹中生成一个PDF

但是,我无法使用PHP命令运行批处理脚本。 批处理文件的构建如下所示:

cd E:\Printshop\Template

copy /y Reisbureau.psmd order_67.psmd

start "" "C:\Program Files (x86)\PrintShop Mail Suite 7\PrintShop Mail\PSMail.exe" order_67.psmd -db "exportFile.xml" -pt "PDFCreator"
如果我按“原样”运行此文件(在资源管理器中导航到批处理文件,运行它),它将按计划处理批处理。 如果PHP运行它,它似乎会执行前2行,并在第3行停止,这可能是由于权限问题

在检查哪个用户正在运行该批处理后,结果是
NT AUTHORITY\IUSR

但是,在将批处理文件和应用程序PSMail.exe的
完全控制权授予上述用户之后,它仍然拒绝处理批处理文件

我希望我已经提供了足够的信息,让IIS和脚本高手都能了解这一点,并希望提供更多关于这一问题的见解

致以亲切的问候


Rik Bastiaens

我认为问题在于
start
产生了一个新的进程,因此您的php代码不知道它何时完成。删除
start”“
或使用其
/wait
参数:
start”“/wait“c:\program files……。
您好wOxxOm,谢谢您的回复,现在我回到办公室。我会尝试你的建议,让你随时了解进度。我认为问题在于
start
生成了一个新的进程,因此你的php代码不知道它何时完成。请删除
start”“
或使用其
/wait
参数:
start”“/wait”c:\program files.....
您好wOxxOm,谢谢您的回复,此时我已回到办公室。我将尝试您的建议,并随时向您通报进展情况。