Alv*_*aro 8 php imagemagick imagick php-7.3
我已经按照这些步骤在我的 Mac OS Catalina 计算机中安装imagemagick和 php 扩展imagick,但我似乎找不到方法。
我总是试图安装时,下面的错误imagick有$ sudo pecl install imagick:
php_imagick.h:42:10: fatal error: 'php.h' file not found
#include "php.h"
^~~~~~~
1 error generated.
make: *** [imagick_file.lo] Error 1
ERROR: `make' failed
Run Code Online (Sandbox Code Playgroud)
我正在使用php.7.3.11.
显然 Mac OS X Catalina 决定将标题移动到另一个文件夹,现在它似乎没有找到它们。
我一直在阅读这个答案,但似乎解决方案太长了,不可能是真的。没有其他更简单直接的方法了吗?
我的新 MacBook Air 和 Catalina 也遇到了同样的问题。这是因为我没有安装 PHP brew。我查看了您链接到的页面,我假设您已经完成了brew install pkg-config imagemagick. 这就是我要清理它并让它工作的方法,见下文。
imagemagick和pkg-config刚刚安装的(以及 PHP,如果它出现在版本列表中)首先,如有必要,我们获取 php @ver 名称。如果您没有在列表中看到 PHP,那么我们不需要删除它,只需删除其他两个即可。
brew list --versions
...
imagemagick 7.0.10-0
...
pcre 8.44
php@7.3 7.3.16
pkg-config 0.29.2_2
...
Run Code Online (Sandbox Code Playgroud)
brew 服务停止 php@7.3
brew remove php@7.3 pkg-config imagemagick
或者干脆
brew remove pkg-config imagemagick 如果 PHP 没有安装 brew
重新启动您的计算机(可选,但我喜欢这样做)
brew install php@7.3 pkg-config imagemagick
将 PHP 添加到您的 cmd 行路径(如果尚未存在)(可选)
echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.bash_profile
现在启动 php@7.3 并在登录时重新启动:
brew services start php@7.3
或者,如果您不想要/不需要后台服务,您可以运行:
php-fpm
php -v
PHP 7.3.16 (cli) (built: Mar 19 2020 11:19:09) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.16, Copyright (c) 1999-2018, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
convert --version
Version: ImageMagick 7.0.10-0 Q16 x86_64 2020-04-04 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(3.1)
Delegates (built-in): bzlib freetype gslib heic jng jp2 jpeg lcms ltdl lzma openexr png ps tiff webp xml zlib
Run Code Online (Sandbox Code Playgroud)
pecl version
PEAR Version: 1.10.10
PHP Version: 7.3.16
Zend Engine Version: 3.3.16
Running on: Darwin mbookair.local 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64
Run Code Online (Sandbox Code Playgroud)
pecl install imagick
当您看到“自动检测”的路径问题时按 ENTER
完成后,您可以确认模块已加载
php -m | grep imagick
如果它已加载,它将返回一行包含单词 imagick
从命令行测试 imagick 正确安装
cd 到您的用户主目录
cd ~
从 cmd 行将 PHP 作为交互式 shell 运行
php -a
在 cmd 行测试的代码:
$im = new Imagick ();
$im->newImage (300, 225, "blue");
$im->writeImage ("test_imagick.jpg");
Run Code Online (Sandbox Code Playgroud)
通过输入exit退出php交互模式,然后检查是否在您的用户目录中创建了亮蓝色的test_imagick.jpg
如果您收到以下警告:
"PHP Warning: Module 'imagick' already loaded in Unknown on line 0
Warning: Module 'imagick' already loaded in Unknown on line 0"
Run Code Online (Sandbox Code Playgroud)
这可能是之前未完成的 pecl 安装遗留下来的。检查您的 php.ini 文件并删除重复extension="imagick.so"条目
| 归档时间: |
|
| 查看次数: |
4589 次 |
| 最近记录: |