记一次macbook pro在mamp集成环境下花两天时间多次安装swoole终于成功!!!
首先按照官方文档按照compoer方法安装
命令:
composer require easyswoole/easyswoole=3.x
php vendor/bin/easyswoole install
发现报错,经过百度发现是php缺少swoole拓展
一、安装swoole拓展
这里给个建议,一定要去github上下载稳定版本的swoole源码:https://github.com/swoole/swoole-src/releases
swoole版本要和php版本兼容最好不要用低版本的PHP安装高版本的swoole
下载到哪里都随意,建议放到/Applications/MAMP/bin/php/php7.2.8(你的php版本)/include/php/ext/ 下,
解压命令:
tar -zxvf swoole-src-4.3.5.tar.gz
执行phpize:
这里注意如果直接执行phpize将是mac电脑默认自带的php版本,先用下面命令确定phpize绝对位置:
which phpize
这里有个困扰了我两天的问题,提出来一下这里安装绝对路径去执行phpize是没错的,但前面好几次我在phpinfo()看到了swoole,可是php -m却看不到所以导致我在接下来composer安装swoole一直有报错是我没有安装swoole拓展,这个问题很迷,原因可能是cli/php-fpm/apache使用不同的php.ini配置如果有遇到类型问题的同学直接参照我下面的解决方法:
一、确认php.ini的位置
我之前都是在mamp下直接修改php.ini,不知道是哪里出了问题导致并不少正确使用的php.ini
所以各位:集成大法虽好,可也不要过分依赖
二、查看对应php.ini是否有extension=swoole.so
cat php.ini | grep swoole.so
如果没有就手动添加(写绝对路径)
extension="/Applications/MAMP/bin/php/php7.2.8/lib/php/extensions/no-debug-non-zts-20170718/swoole.so"
则执行 brew install autoconf 安装 接下来执行:
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.8/bin/php-config
接着make && make install
然后记得去 php 的lib 扩展文件夹下看 是否生成了 swoole.so
接下来先去看phpinfo()
有了也先别高兴,再确定下php -m
二、去composer安装easyswoole
php vendor/bin/easyswoole install