我正在尝试为商业项目整理概念验证,该项目从网页上传图像文件并输出使用各种Photoshop滤镜和第三方商业过滤器转换的图像。因为它是概念证明并且仅在内部IP上可用,所以我并不特别担心安全性。在这一点上,我想表明它在理论上是可行的。
问题在于我可以使Photoshop Droplet完美地工作,就像使用完整路径从CMD提示执行一样...... 但是当我在PHP中使用与 exec 调用完全相同的命令行时(通过使用echo调试验证),droplet exe运行(由Sysinternals ProcessExplorer验证),但Photoshop无法启动,或者如果它已经在运行(即使是管理员),它也无法执行Droplet中的操作。
我试过了:
注意:我试图实现的特定图像处理对于ImageMagik或类似程序来说过于复杂(请不要对此提出任何建议),并且第三方过滤器仅适用于Windows。对于我的测试,我没有使用这个第三方过滤器。我只是想让上面的内容首先使用简单的内置Photoshop滤镜。我正在使用PS CS3。
简而言之...... 如何从PHP(在Win7上)执行Photoshop Droplet?
[我正在使用绝对路径(DOS兼容),如果我在CMD提示符中手动传递给exec的字符串,它按预期工作,所以我强烈怀疑权限问题(我有类似的问题让这些小滴到在PHP之外工作,我使用http://helpx.adobe.com/photoshop/kb/troubleshoot-photoshop-droplets-windows.html中的说明解决了这个问题。服务器安全性不是问题(在这个阶段),所以理想情况下我想将所有内容设置为具有所有权限(就像它在旧的更容易的win95天!;-) - 它只是内部局域网上的测试盒!我可以在演讲结束后把它关掉。至少在Linux上我可以只是chmod -R 777 / * - 并且稍后重新格式化硬盘 - 在Windows7上的等价物是什么? (即给每个人一切?)]
答案 0 :(得分:2)
我说你已经改变了除Apache服务的“允许服务与桌面交互”复选框以外的所有内容。