繁体   English   中英

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

[英]ext-imagick * -> the requested PHP extension imagick is missing from your system

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

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.

收到这条消息后,我在 homestead 环境中安装了 imagick,在 cli 和 fpm 中将扩展添加到 php.ini 并检查了 homestead 如果 imagick 正在使用测试文件。 一切正常,但在运行 composer update 时,我仍然从上面收到相同的错误消息。 有没有人知道问题可能是什么。

奇怪的是,kan git clone devisephp 其引导程序版本完全正常工作,包括图像处理,但是当我向 laravel 添加另一个包时,我再次收到上述消息。

如果您确实无法安装或不想验证该扩展,则可以通过提供

--ignore-platform-reqs

标记到您的作曲家命令

请按照以下步骤操作

  • sudo apt-get install php-imagick
  • php -m | grep imagick // 这应该打印 'imagick' 这意味着安装正确
  • sudo service apache2 restart //(如果需要)

尝试添加:

"ext-imagick": "*",

到您的 composer.json 中的require块,如下所示:

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

并运行作曲家更新

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM