Mac 升级Swoole填坑记录

系统环境: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版本 
 



分享至
2019-01-19 发布 ┊ 2774 人浏览 ┊ 0 人评论 ┊ 来源:原创 ┊ 收藏
返回顶部