先说说pecl和pear有什么相同点和不同点:
1.相同点:Pear、Pecl都是PHP扩展模块的集合,是扩展PHP的两种方法。
2.不同点:
(1)PEAR(PHP Extension and Application Repository):用纯粹的PHP代码编写的函数和类代码库。是PHP的扩展代码包,所有的扩展均以PHP代码的形式出现,功能强大,安装简单,甚至可以改改就用。使用的时候,要在代码中进行Include才能够使用。简单地说,PEAR就是PHP的cpan。其主页是 pear.php.net。
(2)PECL(PHP Extension Community Library):用c或者c++编写外部模块加载至php中,是PHP的标准扩展,可以补充实际开发中所需的功能。所有的扩展都需要安装,在Windows下面以DLL的形式出现;在linux下面需要单独进行编译,它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。其主页是 pecl.php.net。
PECL下载地址:http://museum.php.net/
最直接的表述:Pear是PHP的上层扩展,Pecl是PHP的底层扩展。
1. 先下载pear。
//cur是Mac自带 (一定要用https的)
curl -O https://pear.php.net/go-pear.phar
2. 然后是安装。
sudo php -d detect_unicode=0 go-pear.phar
//执行以上命令后会进行安装过程,会有一些配置选项
输入1,回车,配置pear路径为:/usr/local/pear
输入4,回车,配置命令路径为:/usr/local/bin
//然后提示确认更新php.ini配置文件,需要两次回车
Would you like to alter php.ini ? [Y/n] : Y
检查安装成功,pear和pecl是一同安装的,所以打以下两条命令都可以:
pear version pecl version
3. 设置pear的php.ini路径。
//查看php.ini的路径
php --ini
//设置pear的php.ini路径,pecl安装完会自动加入扩展配置
pear config-set php_ini '/usr/local/etc/php/7.4/php.ini'
4. 现在可以安装pecl扩展库了,比如imagick
首先要安装imagemagic,一般mac的同学都装了brew了吧,安装时间有点久,需要耐心等待,可以写会代码去
brew install imagemagick
安装完成后,注意拷贝下安装路径,安装扩展要用
5. 安装imagick
sudo pecl install imagick
安装过程中会提示输入imagemagic的路径
/usr/local/Cellar/imagemagick/7.1.0-27
完成后看到如下信息
后面就验证下是否安装成功
php -i | grep imagick
//显示信息如下
imagick
imagick module => enabled
imagick module version => 3.7.0
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
imagick.allow_zero_dimension_images => 0 => 0
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.set_single_thread => 1 => 1
imagick.shutdown_sleep_count => 10 => 10
imagick.skip_version_check => 0 => 0
最后别忘了重启下php-fpm,brew services restart php@7.4