自制软件:安装新公式 php72-imagick
Homebrew: install new formula php72-imagick
我需要在 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)
我该怎么做?
我还需要氩气支持
你想要 php72-gmagick
,GraphicsMagick 是 ImageMagick 5.5.2 的一个分支。
或者,您仍然可以pecl install imagick
。
我想这一切都在 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 并单击 更新 并更新所有 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
你正在运行ning homebrew PHP可以进行下一步
如果它告诉你:
/usr/bin/php
您正在 运行使用 Apple 提供的 PHP。如果这是你想要的 运行,请忽略我的整个答案,该答案基于你想要使用 homebrew PHP。如果你得到这个答案但想要 运行 homebrew PHP,你的 PATH 设置不正确。您需要将 /usr/local/bin
放在 /usr/bin
之前,以便在 Apple 程序之前获取所有 homebrew 包,即
export PATH=/usr/local/bin:$PATH
此步骤还为您提供 pecl
- PHP 包管理器 - 因为它是 homebrew PHP 的一部分。
步骤 5 - 安装 Imagick
现在您可以使用 pecl
:
安装 Imagick
pecl install imagick
如果有任何问题,这里有一些相关的问题和答案...
Q1。我怎样才能找到我的 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"
Q2。如何找到 pecl
安装模块的位置?
pecl config-get ext_dir # I get "/usr/local/lib/php/pecl/20170718"
Q3。我如何知道加载了哪些 PHP 模块?
php -m
Q4。为什么 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
希望对您有所帮助!
在我的例子中(PHP 7.2.10 with Homebrew)有效:
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 模块 => 已启用 的行,您就解决了一个问题。
我需要在 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)
我该怎么做?
我还需要氩气支持
你想要 php72-gmagick
,GraphicsMagick 是 ImageMagick 5.5.2 的一个分支。
或者,您仍然可以pecl install imagick
。
我想这一切都在 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 并单击 更新 并更新所有 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
你正在运行ning homebrew PHP可以进行下一步
如果它告诉你:
/usr/bin/php
您正在 运行使用 Apple 提供的 PHP。如果这是你想要的 运行,请忽略我的整个答案,该答案基于你想要使用 homebrew PHP。如果你得到这个答案但想要 运行 homebrew PHP,你的 PATH 设置不正确。您需要将 /usr/local/bin
放在 /usr/bin
之前,以便在 Apple 程序之前获取所有 homebrew 包,即
export PATH=/usr/local/bin:$PATH
此步骤还为您提供 pecl
- PHP 包管理器 - 因为它是 homebrew PHP 的一部分。
步骤 5 - 安装 Imagick
现在您可以使用 pecl
:
pecl install imagick
如果有任何问题,这里有一些相关的问题和答案...
Q1。我怎样才能找到我的 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"
Q2。如何找到 pecl
安装模块的位置?
pecl config-get ext_dir # I get "/usr/local/lib/php/pecl/20170718"
Q3。我如何知道加载了哪些 PHP 模块?
php -m
Q4。为什么 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
希望对您有所帮助!
在我的例子中(PHP 7.2.10 with Homebrew)有效:
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"
并用
重启phpbrew services restart php
尝试,如果错误消息消失:
php -v
并检查 imagick 扩展:
php -i | grep imagick
如果您看到带有 imagick 模块 => 已启用 的行,您就解决了一个问题。