使用phpize安装php扩展

环境:

CentOs 6.3
php 7
nginx

举例:

安装ssh2扩展


1.登陆http://pecl.php.net,搜索ssh2,如下图所示,注意版本的选择要根据php的版本来

896608-20161202123145521-985940292.png

2.下载ssh2扩展文件压缩包(在当前系统哪个目录下载随意)

~# wget http://pecl.php.net/get/ssh2-1.0.tgz

3.解压文件

~# tar -zxvf ssh2-1.0.tgz

4.进入源码目录

~# cd ssh2-1.0/

5.运行phpize命令,写全phpize的路径

~# /usr/local/php/bin/phpize

如果你用MAMP,此时会报错,请见文尾附录->

6.运行configure命令,配置时要将php-config的路径附上

~# ./configure --with-php-config=/usr/local/php/bin/php-config

7.运行make命令

~# make

8.测试编译安装

~# make test

9.正式编译安装

~# sudo make install

10.修改php.ini

结尾加入:extension=ssh2.so

11.重启对应的php-fpm

~# ps aux | grep php-fpm

找到php-fpm的pid,然后

kill {pid}

然后再启动php-fpm

~# /usr/local/php/sbin/php-fpm

如果你用MAMP,直接GUI重启即可


检验结果

打开phpinfo,可以看到:

896608-20161202125011396-171707808.png


附录
报错
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

转载于:https://www.cnblogs.com/xjnotxj/p/6125305.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值