1.由于我本地有两个php环境,系统自带的php版本是7.3,我安装了一个7.4版本之后直接使用phpize
去操作发现7.4版本phpinfo并没有扩展,此处应该要选择对应版本的phpize,以及对应版本的 configure
,例如我php7.4版本phpize
目录在/Users/mac/service/php745/bin/phpize
,那么执行phpize
时,需要指定对应版本。configure
也一样,./configure --bindir=/Users/mac/service/php745/bin --with-php-config=/Users/mac/service/php745/bin/php-config
2.安装amqp扩展时报错如下:
报错
这是因为没有安装amqp的依赖包rabbitmq-c,需要先安装rabbitmq-c,我最开始下载了最新版0.10.0版本,结果不知道什么原因没有configure文件,导致无法安装,于是找个低版本,下载地址:rabbitmq-c0.8.0,下载完成后解压并安装。
# cd rabbitmq-c-0.8.0
# ./configure --bindir=/Users/mac/service/php745/bin --with-php-config=/Users/mac/service/php745/bin/php-config --prefix=/usr/local/rabbitmq-c-0.8.0
# make && make install
出现如下提示说明安装成功:
安装成功
然后再次安装amqp:
进入amqp源码目录执行:
/Users/mac/service/php745/bin/phpize
./configure --bindir=/Users/mac/service/php745/bin --with-php-config=/Users/mac/service/php745/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.8.0
make && make install
出现:
安装成功
最后,修改php.ini,增加extensin:amqp.so,重启php-fpm。查看phpinfo,出现amqp,安装成功!
注意:mac中php.ini默认目录是etc下的php.ini.default,如果你是自己安装的php版本,那么可以在phpinfo中查看你的php.ini目录,如果该目录没有文件,可以copy ect/php.ini过去
php.ini目录