大家好上次我们聊过brew安装方式,那我们今天就聊聊编译安装,我们今天就安装一下Stomp扩展。安装过程中发现了一个小问题,版本过低的话php7会报错。
这个是stomp-1.0.5版本
gongzgiyangdeMacBook-Air:stomp-1.0.5 gongzhiyang$ make && make install
/bin/sh /usr/local/opt/stomp-1.0.5/libtool --mode=compile cc -I. -I/usr/local/opt/stomp-1.0.5 -DPHP_ATOM_INC -I/usr/local/opt/stomp-1.0.5/include -I/usr/local/opt/stomp-1.0.5/main -I/usr/local/opt/stomp-1.0.5 -I/usr/local/Cellar/php71/7.1.14_25/include/php -I/usr/local/Cellar/php71/7.1.14_25/include/php/main -I/usr/local/Cellar/php71/7.1.14_25/include/php/TSRM -I/usr/local/Cellar/php71/7.1.14_25/include/php/Zend -I/usr/local/Cellar/php71/7.1.14_25/include/php/ext -I/usr/local/Cellar/php71/7.1.14_25/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/local/opt/stomp-1.0.5/stomp.c -o stomp.lo
mkdir .libs
cc -I. -I/usr/local/opt/stomp-1.0.5 -DPHP_ATOM_INC -I/usr/local/opt/stomp-1.0.5/include -I/usr/local/opt/stomp-1.0.5/main -I/usr/local/opt/stomp-1.0.5 -I/usr/local/Cellar/php71/7.1.14_25/include/php -I/usr/local/Cellar/php71/7.1.14_25/include/php/main -I/usr/local/Cellar/php71/7.1.14_25/include/php/TSRM -I/usr/local/Cellar/php71/7.1.14_25/include/php/Zend -I/usr/local/Cellar/php71/7.1.14_25/include/php/ext -I/usr/local/Cellar/php71/7.1.14_25/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/local/opt/stomp-1.0.5/stomp.c -fno-common -DPIC -o .libs/stomp.o
/usr/local/opt/stomp-1.0.5/stomp.c:27:10: fatal error: 'ext/standard/php_smart_str.h' file not found
#include "ext/standard/php_smart_str.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [stomp.lo] Error 1
开始安装
//下载
wget http://pecl.php.net/get/stomp
//解压
tar xzf stomp
//进入目录
cd stomp-2.0.2
//其实phpize是一个运行脚本,
//主要作用是检测php的环境还有就是在特定的
//目录生成相应的configure文件,这样makeinstall之后,
//生成的.so文件才会自动加载到php扩展目录下面。
usr/local/Cellar/php71/7.1.14_25/bin/phpize
//Configure脚本配置工具
./configure --enable-stomp --with-php-config=/usr/local/Cellar/php71/7.1.14_25/bin/php-config
//make 是用来编译的,它从Makefile中读取指令,然后编译
//make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
make && make install
php -m 看一下stomp安装成功了。在实际操作当中要注意一下路径。
参考文档