Hello Stack Overflowers,
我一直在为我的雇主制作一个项目,通过应用程序PrintShop Mail Suite 7将文档打印自动化为可用的PDF文件。
我想象的过程如下:
您使用PHP应用程序创建订单,该应用程序从MSSQL数据库中检索数据并继续保存。
同一个应用程序从持久化SQL条目生成临时XML文件,该文件可由应用程序PrintShop Mail与模板文件一起使用。
我的流程的下一步是从该应用程序运行的批处理文件,该文件在PHP应用程序文件夹的指定文件夹中生成PDF。
但是,我无法使用PHP的exec()命令运行批处理脚本。 批处理文件的构建如下:
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
但是,在将上述用户Full Control
提供给批处理文件和应用程序PSMail.exe之后,它仍然拒绝处理批处理文件。
Permissions seem to be in place
我希望我已经为IIS和精通脚本的人提供了足够的信息来研究这个问题,并希望能够提供更多关于这个问题的见解。
亲切的问候,
Rik Bastiaens