【问题标题】:Instagraph PHP photo editing exec() function does not execute function, but works on command line?Instagraph PHP照片编辑exec()函数不执行函数,但在命令行上工作?
【发布时间】:2012-04-06 05:57:27
【问题描述】:

我正在尝试通过 PHP 和 ImageMagick (http://net.tutsplus.com/tutorials/php/create-instagram-filters-with-php/) 添加 Instagram 中的 gotham 功能工作,但命令可以。当我生成命令并将它们复制并粘贴到命令行时,它们工作正常。然而,当我尝试使用 exec() 执行它们时,它们不起作用。我查看了给出的输出,它说找不到命令。我在 php.ini 中关闭了安全模式,并且 exec() 不是禁用的功能。我尝试添加 & 和 '2>&1' 但无济于事。为什么 exec() 不理解命令?这是脚本

function gotham($image) {
    exec("convert " . $image . " -modulate 120,10,100 -fill '#222b6d' -colorize 20 -gamma 0.5 -contrast -contrast " . $image . " 2>&1", $output1);
    exec("convert " . $image . " -bordercolor black -border 20x20 " . $image . " 2>&1", $output2);
}

这是来自 $output 变量的 var_dump 的内容:

array(1) { [0]=> string(30) "sh: convert: command not found" } array(1) { [0]=> string(30) "sh: convert: command not found" }

【问题讨论】:

  • 检查 chmod 和 chgrp。确保 php 有权运行 Imagick
  • 我只是 chmod 777 然后 chgrp 一样,还是不行

标签: php image imagemagick exec instagram


【解决方案1】:

看来你有路径问题。试试这些

  exec("/path/to/Imagick/bin/convert -version", $output2);

或者

  exec("usr/local/bin/convert -version", $output);

【讨论】:

【解决方案2】:

首先确定 imagemagick 安装在您的系统上的位置。您可以通过运行从终端执行此操作

whereis convert

要解决权限问题,请以运行 Web 服务器的用户身份登录。这通常是apache/nobody/www-data,具体取决于您的发行版和/或设置。在终端运行以下命令:

su - www-data

以上将当前用户切换到运行 Web 服务器的用户。就我而言,这是www-data

现在使用完整路径运行convert 命令(由之前的whereis convert 和您的php 脚本中的参数确定。如果没有权限问题,这应该可以正常执行。在大多数情况下,您应该会看到与从 web 服务器中的 php 脚本运行时相同的错误。

通过运行检查转换程序的权限

ls -l `whereis convert`

【讨论】:

  • 好吧,但现在我得到了 dyld:未加载库:/opt/local/lib/libjpeg.8.dylib [1] => 引用自:/Users/ulmer/Dropbox/insta2 /../../../../opt/local/bin/convert [2] => 原因:库版本不兼容:convert需要13.0.0或更高版本,但libjpeg.8.dylib提供12.0版本。 0
  • Mac 10.7.3 在 MAMP 服务器上运行 PHP
  • 这可能会有所帮助。 forum.mamp.info/viewtopic.php?f=2&t=8245 为什么不使用 imagemagick php 扩展?见mrhelly.wordpress.com/2012/01/22/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-07
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2017-05-06
相关资源
最近更新 更多