ext-imagick * - >系统中缺少所请求的PHP扩展imagick

时间:2016-03-06 16:31:14

标签: php laravel imagick homestead

我在为laravel安装devisephp时遇到问题。我正在使用php7开发最新版本的宅基地。当我做作曲家更新时,我得到以下错误。

Problem 1
    - Installation request for devisephp/cms 1.4.* -> satisfiable by devisephp/cms[1.4.0].
    - devisephp/cms 1.4.0 requires ext-imagick * -> the requested PHP extension imagick is missing from your system.

在我的家园环境中安装了这个消息之后,在cli和fpm中添加了php.ini的扩展,并且如果imagick正在使用测试文件,则在宅基地中检查。一切都运行得很好,但在运行作曲家更新时,我仍然从上面得到相同的错误消息。有没有人知道问题是什么。

stange的事情就是kan git clone devisephp它的bootstrap版本完全正常工作,包括图像处理,但是当我向laravel添加另一个包时,我再次收到上述消息。

4 个答案:

答案 0 :(得分:2)

请按照以下步骤操作

  • sudo apt-get install php-imagick
  • php -m | grep imagick //这应该打印'imagick',表示安装正确
  • sudo服务apache2重新启动 //(如果需要)

答案 1 :(得分:0)

如果您确实无法安装或不希望对该扩展程序进行验证,则可以通过提供

跳过它

--ignore-platform-reqs

您的作曲家命令的标志

答案 2 :(得分:0)

尝试添加:

"ext-imagick": "*",
像这样

到composer.json中的 require 块:

"license": "MIT",
"require": {
    "ext-imagick": "*",
    ....
}

并运行 composer更新

答案 3 :(得分:0)

使用 composer.js 中的 config.platform 键,您可以伪造依赖项,例如 php 版本或扩展程序(但是,您不能对扩展程序版本使用星号!) https://getcomposer.org/doc/06-config.md#platform

作为奖励,您可以使用此库对 ext-imagick 进行 polyfill:https://github.com/calcinai/php-imagick。它不完整并且依赖于命令行 ImageMagick。到目前为止,它对我有用。

{
    "require": {
        "calcinai/php-imagick": "dev-master"
    },
    "config": {
      "platform":{
        "ext-imagick": "3.4.4"
        }
    }
}