【问题标题】:Run Photoshop Droplet from PHP on Win7在 Win7 上从 PHP 运行 Photoshop Droplet
【发布时间】:2012-11-28 02:28:54
【问题描述】:

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

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

我试过了:

  • 在测试 PC (Win7) 上禁用 UAC 控制
  • 设置所有相关 为所有用户“以管理员身份运行”的进程(mydroplet.exe, photoshop.exe, httpd.exe, php.exe)
  • 提升 httpd.exe 的权限
  • php.ini 中没有“安全模式”
  • 将 Droplet 执行包装到一个 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 的说明解决了这个问题)。服务器安全不是问题(在这个阶段),所以理想情况下,我希望将所有内容都设置为具有 all 权限(就像在过去更容易的 win95 天一样!;-) - 它只是内部 LAN 上的测试盒!!!我可以在演示后将其关闭。至少在 Linux 上我可以 chmod -R 777 /* -- 稍后重新格式化硬盘 --- Windows7 上的等价物是什么??? (即把一切都给每个人?)]

【问题讨论】:

  • 与其使用chmod -R 777 subdir,不如使用:chown -R www-data:www-data subdir。只是一个提示,因为下一次当你想允许所有人的一切时,很难回到旧的状态。这里,www-data 是 apache 用户。

标签: php photoshop uac photoshop-script


【解决方案1】:

我想说您已经更改了 Apache 服务的“允许服务与桌面交互”复选框之外的所有内容。

【讨论】:

  • 优秀。非常感谢。效果很好。
猜你喜欢
  • 2014-10-17
  • 2013-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 2013-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多