先下载源码,然后手动编译,安装
如代码所示,但这个不适用,仅参考,适用于xampp的在下面
cd swoole
phpize (ubuntu 没有安装phpize可执行命令:sudo apt-get install php-dev来安装phpize)
./configure
make
sudo make install
然而实际上到phpize这一步就会报错,因为我使用的是xampp集成环境,不是直接安装在系统根目录下,所以会出现以下错误
me@MacBook-Pro ~/Downloads/swoole-src-4.4.12 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:
意思就是没找到对应文件夹,那当然,我的php在xampp里面呢,自然不会显示,那么如何解决呢
执行xampp内置的phpize即可
一般来说macOS安装的xampp目录为
/Applications/XAMPP/xamppfiles
那么phpize文件就在
/Applications/XAMPP/xamppfiles/bin/phpize
这里,直接扔进terminal执行就好,也就是说要运行phpize
命令,需要写全phpize
的路径
但别退出swoole的目录
执行之后就不会报错了
显示
me@MacBook-Pro ~/Downloads/swoole-src-4.4.12 > /Applications/XAMPP/xamppfiles/bin/phpize
Configuring for:
PHP Api Version: 20180731
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
phpize安装成功了
然后按操作执行就好
然后又发现第五步make出错了
按下面的老哥的方法发现,输入./configure
时需要配置时要将php-config
的路径附上
那么我这里应该输入
./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
这个是xampp/bin
目录下的一些文件
然后发现这回编译就不会报错了
那我们最后一步sudo make install
即可
安装成功!!
全局代码如下,请根据自己的xampp目录进行设置
cd swoole
/Applications/XAMPP/xamppfiles/bin/phpize
./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
make
sudo make install
注意: PECL发布时间晚于Github发布时间
Swoole
项目已收录到PHP
官方扩展库,除了手工下载编译外,还可以通过PHP
官方提供的pecl
命令,一键下载安装
pecl install swoole
phpize建立软连接
这里非常非常感谢这位老哥的博文
使用phpize安装php扩展
这里直接摘抄一下原文
grep: /Applications/MAMP/bin/php/php5.6.10/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.6.10/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.6.10/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
/Applications/MAMP/bin/php/php5.6.10/
下缺少include
文件夹
因为MAMP把include
移到了/usr/include
下
所以可以做了一个软连接,先在/Applications/MAMP/bin/php/php5.6.10/
下创建空include
文件夹,然后执行
ln -s /usr/include/php /Applications/MAMP/bin/php/php5.6.10/include/
如果接下来的make步骤也报错了,并提示
fatal error: ‘pcre.h‘ file not found
解决办法:brew install pcre
使用ln
命令建立软连接
ln是linux中又一个非常重要命令,请大家一定要熟悉。
它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s具体用法是:ln –s 源文件 目标文件
。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
例如:ln –s /bin/less /usr/local/bin/less
-s 是符号链接(symbolic)的意思。
ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录]
ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录]
ln -s 报错位置的include目录 xampp的include目录
也就是
ln -s /usr/include/ /Applications/XAMPP/xamppfiles/include/php/include/
然而并没有什么卵用,看上面的方法吧
不过还是感谢老哥