我需要在我的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)
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
我也需要支持氩气
Mar*_*ell 38
我认为这一切都在2018年4月发生了变化.自制不再充当PHP包管理器,所以所有的php-imagick和php-redis和php-other-extension东西已经和现在你应该用它来管理PHP包pecl就像其他人一样.
那么,如何在PHP下获取Imagick?请注意,Imagick和ImageMagick是两个不同的东西:
以下是步骤 - 如果有人知道更好或有任何改进,请通过评论告诉我,我会更新.
第1步 - 删除任何可能发生冲突的事情
在开始之前,最好清理所有破损或不需要的东西.尽可能多地使用以下内容:
brew rm php php@5.6 php@7.0 php@7.1
brew rm imagemagick
Run Code Online (Sandbox Code Playgroud)
第2步 - 更新Xcode命令行工具并获取构建包
确保已安装Xcode命令行工具:
xcode-select --install
Run Code Online (Sandbox Code Playgroud)
转到AppStore并单击更新并更新任何与Xcode相关的软件包 - 特别是如果您最近升级了macOS.
安装自制建筑工具:
brew install pkg-config
Run Code Online (Sandbox Code Playgroud)
第3步 - 安装ImageMagick
检查您想要的ImageMagick选项:
brew options imagemagick
Run Code Online (Sandbox Code Playgroud)
我喜欢用:
brew install imagemagick --with-x11 --with-librsvg --with-openexr --with-pango
hash -r
Run Code Online (Sandbox Code Playgroud)
但你可能喜欢vanilla install:
brew install imagemagick
hash -r
Run Code Online (Sandbox Code Playgroud)
第4步 - 安装自制PHP
接下来,安装自制的PHP版本:
brew install php
hash -r # Update bash's internal paths
Run Code Online (Sandbox Code Playgroud)
现在,关键确保您运行正确的自制 PHP:
type php
Run Code Online (Sandbox Code Playgroud)
如果这告诉你:
/usr/local/...anything.../php
Run Code Online (Sandbox Code Playgroud)
你正在运行自制 PHP,你可以进入下一步.
如果它告诉你:
/usr/bin/php
Run Code Online (Sandbox Code Playgroud)
您正在运行Apple提供的PHP.如果这是您想要运行的,请忽略我希望使用自制 PHP的整个答案.如果你得到这个答案,但想运行自制 PHP,你的PATH设置不正确.您需要/usr/local/bin 先 提前购买Apple程序之前的/usr/bin所有自制程序包,即
export PATH=/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
这一步也为您提供pecl了PHP包管理器,因为它是自制 PHP的一部分.
第5步 - 安装Imagick
现在您可以安装Imagick pecl:
pecl install imagick
Run Code Online (Sandbox Code Playgroud)
如果出现任何问题,这里有一些相关的问题和答案......
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"
Run Code Online (Sandbox Code Playgroud)
Q2.我怎样才能找到pecl安装模块的位置?
pecl config-get ext_dir # I get "/usr/local/lib/php/pecl/20170718"
Run Code Online (Sandbox Code Playgroud)
Q3.如何判断加载哪些PHP模块?
php -m
Run Code Online (Sandbox Code Playgroud)
Q4.为什么PHP无法找到我的模块?
首先使用Q2找到您的模块目录.我喜欢把它放在剪贴板中:
pecl config-get ext_dir | pbcopy
Run Code Online (Sandbox Code Playgroud)
然后php.ini从Q1 编辑文件.我用vi,所以我会这样做:
vi "$(pecl config-get php_ini)"
Run Code Online (Sandbox Code Playgroud)
然后在该文件中找到如下所示的行:
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
Run Code Online (Sandbox Code Playgroud)
然后(使用粘贴缓冲区的内容)使下面的行看起来像这样(开头没有分号):
extension_dir = "/usr/local/lib/php/pecl/XXXXXX"
Run Code Online (Sandbox Code Playgroud)
在我的机器XXXXXX上20170718.如果你做对了,那么你自己安装的所有模块都pecl将在你的自制 PHP中可见.
Q5.如何查看所有PHP设置?
检查PHP配置,版本和设置:
php -i
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
9222 次 |
| 最近记录: |