系统环境:macOS Mojave 10.14.2
步骤:
一:下载swoole的最新稳定版 (我下载的是4.2.11)
二、复制到你指定的目录后解压
tar -zvxf swoole-src-4.2.11.tar.gz
三、安装 (参照官方教程)
cd swoole-src-4.2.11 sudo phpize sudo ./configure sudo make sudo make install##################下面是填坑记录###################
1.在phpize的时候提示
grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include/php/Zend/zend_modules.h: No such file or directory grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No:意思是找不到phpize,大概是因为我装了多版本的PHP,我的解决办法:写全路径
/usr/local/Cellar/php71/7.1.11_22/bin/phpize
2.在./configure的时候报错
In file included from /usr/local/wangpeng/swoole-src-4.2.11/swoole.c:16: ./php_swoole.h:25:10: fatal error: 'php.h' file not found #include "php.h"
解决办法:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include /usr/include
注意其中:MacOSX10.14.sdk换成你自己的
3.在make install的时候提示权限问题 mkdir: /usr/include/php/ext/swoole: Permission denied
解决办法: sudo mkdir /usr/include/php/ext/swoole
sudo chmod -R 777 /usr/include/php/ext/swoole
最后安装成功,会提示如下:(第一个是swoole.so的存储目录)
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20160303/Installing header files:/usr/include/php/
#修改/usr/local/etc/php/7.1/conf.d/ext-swoole.ini如下
[swoole]
extension="/usr/local/opt/php71-swoole/swoole.so" 替换为
extension="/usr/lib/php/extensions/no-debug-non-zts-20160303/swoole.so"
#执行php --ri swoole #swoole已经是最新版本
php -m 查看是否安装成功
php -r 'echo SWOOLE_VERSION;' 查看swoole版本