【问题标题】:Homebrew: install new formula php72-imagickHomebrew:安装新公式 php72-imagick
【发布时间】:2018-10-08 03:48:35
【问题描述】:

我需要在我的 php 7.2 上安装 imagick 模块

我明白了

brew search php72
==> Searching local taps...
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
No formula found for "php72".
Closed pull requests:
...
php72-imagick 3.4.3 (new formula) (https://github.com/Homebrew/homebrew-php/pull/4267)

我该怎么做?

我还需要氩气支持

【问题讨论】:

    标签: homebrew imagick


    【解决方案1】:

    我想这一切都在 2018 年 4 月发生了变化。 Homebrew 不再充当 PHP 的包管理器,因此所有 php-imagickphp-redisphp-other-extension 的东西都消失了,您现在应该像所有人一样使用 pecl 管理 PHP 包否则会。

    那么,如何在 PHP 下获取 Imagick?请注意,ImagickImageMagick 是两个不同的东西:

    • ImageMagick 是整个 ImageMagick 套件
    • Imagick 只是 PHP 绑定

    这里是步骤 - 如果有人知道更好或有任何改进,请通过评论告诉我,我会更新。


    第 1 步 - 删除任何可能发生冲突的内容

    在开始之前,最好清理所有损坏或不需要的东西。尽可能多地做这些事情:

    brew rm php php@5.6 php@7.0 php@7.1
    brew rm imagemagick
    

    第 2 步 - 更新 Xcode 命令行工具并获取构建包

    确保您已安装 Xcode 命令行工具:

    xcode-select --install
    

    前往 AppStore 并点击 Updates 并更新任何与 Xcode 相关的软件包 - 特别是如果您最近升级了 macOS。

    安装自制构建工具:

    brew install pkg-config
    

    第 3 步 - 安装 ImageMagick

    检查您想要的 ImageMagick 选项:

    brew options imagemagick
    

    我喜欢用:

    brew install imagemagick --with-x11 --with-librsvg --with-openexr --with-pango
    hash -r
    

    但您可能喜欢原版安装:

    brew install imagemagick
    hash -r
    

    第 4 步 - 安装自制 PHP

    接下来,安装 homebrew 版本的 PHP:

    brew install php
    hash -r                    # Update bash's internal paths
    

    现在,请务必确保您运行的是正确的 homebrew PHP:

    type php
    

    如果这告诉你:

    /usr/local/...anything.../php
    

    您正在运行 homebrew PHP,您可以进行下一步。

    如果它告诉你:

    /usr/bin/php
    

    您正在运行 Apple 提供的 PHP。如果这是您想要运行的,请忽略我基于您想要使用 homebrew PHP 的整个答案。如果你得到这个答案但想运行 homebrew PHP,你的 PATH 设置不正确。您需要将 /usr/local/bin before /usr/bin 放在 Apple 程序之前获取所有 homebrew 软件包,即

    export PATH=/usr/local/bin:$PATH
    

    这一步也为您提供pecl - PHP 包管理器 - 因为它是 homebrew PHP 的一部分。


    第 5 步 - 安装 Imagick

    现在您可以使用 pecl 安装 Imagick:

    pecl install imagick
    

    如果出现任何问题,这里有一些相关的问题和答案...

    第一季度。如何找到我的php.ini 文件在哪里?

    尝试以下任一命令:

    pecl config-get php_ini                  # I get "/usr/local/etc/php/7.2/php.ini"
    brew info php
    php -i | grep "Loaded Configuration"     # I get "Loaded Configuration File => /usr/local/etc/php/7.2/php.ini"
    

    第二季度。如何找到pecl 安装模块的位置?

    pecl config-get ext_dir                 # I get "/usr/local/lib/php/pecl/20170718"
    

    第三季度。我如何知道加载了哪些 PHP 模块?

    php -m
    

    第四季度。为什么 PHP 找不到我的模块?

    首先使用 Q2 找到您的模块目录。我喜欢把它放在剪贴板中:

    pecl config-get ext_dir | pbcopy
    

    然后编辑 Q1 中的 php.ini 文件。我使用vi,所以我会这样做:

    vi "$(pecl config-get php_ini)"
    

    然后在该文件中找到如下所示的行:

    ; Directory in which the loadable extensions (modules) reside.
    ; http://php.net/extension-dir
    

    然后(使用粘贴缓冲区的内容)使下面的行看起来像这样(开头没有分号):

    extension_dir = "/usr/local/lib/php/pecl/XXXXXX"
    

    在我的机器上XXXXXX20170718。如果您做对了,您通过 pecl 安装的所有模块都将对您的 homebrew PHP 可见。

    Q5。如何查看我的所有 PHP 设置?

    检查 PHP 配置、版本和设置:

    php -i
    

    希望有帮助!

    【讨论】:

    • 谢谢,对我帮助很大!由于缺少 imagemagick 库,我遇到了问题。
    • 'brew rm php php@5.6 php@7.0 php@7.1' 给了我一个错误信息,这些木桶不存在,除此之外都可以工作
    • 祝福你!但是1.我必须在pecl install imagick之前添加mkdir /usr/local/lib/php/pecl目录和2.清理/usr/local/etc/php/7.2/conf.d目录以摆脱PHP警告
    • @Mark Setchell - 我非常感谢您的详细解释和概述!我一直在努力安装 Imagemagick,您先生救了我!非常感谢,非常感谢!
    • 谢谢。上帝看着所有这些步骤,只是为了让 imagick 启动并运行。
    【解决方案2】:

    就我而言(带有 Homebrew 的 PHP 7.2.10)有效:

    pecl install imagick
    

    打开文件 php.ini 并删除带有 imagick 扩展名的扩展行。

    检查 *.ini 文件

    php --ini
    

    您可以看到扩展文件的路径。创建或编辑 imagick ini 文件。

    subl /usr/local/etc/php/7.2/conf.d/ext-imagick.ini
    

    文件的内容可能是(检查imagick.so的路径)

    [imagick]
    extension="/usr/local/opt/php/pecl/20170718/imagick.so"
    

    然后用

    重启php
    brew services restart php
    

    尝试,如果错误消息消失:

    php -v
    

    并检查 imagick 扩展:

    php -i | grep imagick
    

    如果您看到 imagick module => enabled 说明您已经解决了问题。

    【讨论】:

      【解决方案3】:

      你想要php72-gmagick,GraphicsMagick 是 ImageMagick 5.5.2 的一个分支。

      或者,您仍然可以pecl install imagick

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-19
        • 2022-11-06
        • 2011-04-28
        • 2021-06-04
        • 2012-12-06
        • 1970-01-01
        相关资源
        最近更新 更多