3

我正在尝试为一个商业项目组合一个概念验证,该项目从网页上传图像文件并输出使用各种 Photoshop 过滤器和第 3 方商业过滤器转换的图像。因为它是概念验证,并且仅在内部 IP 上可用,所以我并不特别担心安全性。在这一点上,我只想证明这在理论上是可能的。

问题是我可以使 Photoshop Droplet 完美运行,就像使用完整路径从 CMD 提示符执行...但是当我在 PHP 中使用完全相同的命令行调用exec时(通过使用 echo 进行调试验证), droplet exe 运行(由 Sysinternals ProcessExplorer 验证),但 Photoshop 无法启动,或者如果它已经在运行(即使作为管理员),它也无法执行 droplet 中的操作。

我试过了:

  • 在测试 PC 上禁用 UAC 控制 (Win7)
  • 将所有用户的所有相关进程设置为“以管理员身份运行”(mydroplet.exe、photoshop.exe、httpd.exe、php.exe)
  • 提升 httpd.exe 的权限
  • php.ini 中没有“安全模式”
  • 将液滴执行包装到一个 BAT 文件中,以便从 PHP exec 调用

注意:我试图实现的特定图像处理对于 ImageMagik 或类似的东西来说太复杂了(请不要对此提出任何建议),并且第 3 方过滤器仅在 Windows 上可用。对于我的测试,我没有使用这个 3rd 方过滤器。我只是想让上面的内容首先使用简单的内置 Photoshop 过滤器。我正在使用 PS CS3。

简而言之...如何从 PHP 执行 Photoshop droplet(在 Win7 上)?

[ 我在整个过程中都使用绝对路径(与 DOS 兼容),如果我在 CMD 提示符下手动运行传递给 exec 的字符串,它会按预期工作,所以我强烈怀疑权限问题(我在让液滴在外部工作时遇到了类似的问题PHP,我使用http://helpx.adobe.com/photoshop/kb/troubleshoot-photoshop-droplets-windows.html中的说明解决了这个问题)。服务器安全不是问题(在这个阶段),所以理想情况下,我想将所有内容设置为拥有所有权限(就像在过去更容易的 win95 天一样!;-)——它只是内部 LAN 上的一个测试盒!!!我可以在演示后将其关闭。至少在 Linux 上,我可以 chmod -R 777 /* -- 稍后重新格式化硬盘 --- Windows7 上的等价物是什么?(即把一切都给大家?)]

4

1 回答 1

2

I'd say you've changed everything except the "Allow service to interact with desktop" checkbox for the Apache service.

于 2012-12-10T16:31:17.537 回答