[PHP] MacOS 自带php环境安装imagick扩展&踩坑记录

前言

最近学习yii2,在搭建环境后,发现在访问contact页面时报错,如下:

1
“Either GD PHP extension with FreeType support or ImageMagick PHP extension..."

在网上查找资料发现时没有安装imagick扩展,安装过程中也踩过很多坑,现将安装过程和踩坑情况记录如下。

环境

OS Ver:OSX 10.13

php环境:OSX自带php环境(php7.17)

步骤

1、安装:ImageMagick:

下载:sudo curl -O ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz

解压:sudo tar -zxvf ImageMagick.tar.gz

安装:

1
2
3
4
cd ImageMagick-7.0.7-22/
sudo . /configure --prefix= /usr/local/ImageMagick
sudo make
sudo make install

 

2、安装php扩展imagick

下载:wget https://pecl.php.net/get/imagick-3.4.3.tgz

解压:sudo tar -zxvf imagick-3.4.3

安装:

1
2
3
4
5
cd imagick-3.4.3
sudo /usr/bin/phpize    <--- 生成configure
sudo . /configure --with-php-config= /usr/bin/php-config --with-imagick= /usr/local/ImageMagick
sudo make
sudo make install

3、在php.ini中添加imagick扩展

参考踩坑记录2.

踩坑记录

1、未安装m4 和autoconf工具,会报错如下:

1
2
3
4
5
6
7
$ sudo /usr/bin/phpize
Configuring for :
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

解决办法:当然是安装m4、autoconf工具,推荐使用brew安装,这个网上教程很多,你当然会的啊。

1
2
brew install m4
brew install autoconf

2、在安装imagic扩展时报错如下:

1
2
3
4
$ sudo make install
Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-20160303/
cp : /usr/lib/php/extensions/no-debug-non-zts-20160303/ #INST@31145#: Operation not permitted
make : *** [ install -modules] Error 1

这是因为macos系统的Rootless特性导致的(The problem was due to OS X 10.11 El Capitan's Rootless feature. )

要禁用这个特性可以参考这个文章:

https://www.quora.com/How-do-I-turn-off-the-rootless-in-OS-X-El-Capitan-10-11

如果不想禁用这个特性,可以将imagic.so文件放置在一个合适位置,然后在php.ini中添加扩展的时候制定好路径(强迫症受不了!!!!)。

以下是我的修改:

1
2
3
4
5
6
sudo mkdir -p /usr/local/lib/php/extensions/no-debug-non-zts-20160303/
sudo cp modules /imagick .so /usr/local/lib/php/extensions/no-debug-non-zts-20160303/
sudo vi /etc/php .ini
# 在php.ini中修改扩展目录和添加imagick扩展
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20160303"
extension=imagick.so
原文: https://www.coderclan.cc/204.html
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值