我想这一切都在 2018 年 4 月发生了变化。 Homebrew 不再充当 PHP 的包管理器,因此所有 php-imagick 和 php-redis 和 php-other-extension 的东西都消失了,您现在应该像所有人一样使用 pecl 管理 PHP 包否则会。
那么,如何在 PHP 下获取 Imagick?请注意,Imagick 和 ImageMagick 是两个不同的东西:
- 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"
在我的机器上XXXXXX 是20170718。如果您做对了,您通过 pecl 安装的所有模块都将对您的 homebrew PHP 可见。
Q5。如何查看我的所有 PHP 设置?
检查 PHP 配置、版本和设置:
php -i
希望有帮助!