使用phpize安装php扩展
环境:
CentOs 6.3
php 7
nginx
举例:
安装ssh2扩展
1.登陆http://pecl.php.net,搜索ssh2,如下图所示,注意版本的选择要根据php的版本来

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,可以看到:

附录
报错
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
使用phpize安装php扩展的更多相关文章
- phpize安装PHP扩展
安装编译完成php源码后忘记安装一些扩展可以通过phpize来安装 拿lnmp1.6安装举例 安装完成lnmp后发现有些扩展没有 lnmp1.6的安装脚本会在lnmp1.6里生成src,里面是lnmp ...
- phpize安装php扩展CURL
进入php源码包curl扩展目录 cd php-/ext/curl phpize ./configure --with-php-config=/usr/local/webserver/php/bin/ ...
- 搭建memcached使用:/usr/bin/phpize 安装memcached扩展的时候报错
Can't find PHP headers in /usr/include/phpThe php-devel package is required for use of this command ...
- 编译安装PHP7并安装Redis扩展Swoole扩展
编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...
- centos下安装php扩展php-memcached
说来坎坷,为了安装这个php的扩展php-memcached,连操作系统都换了,从centos5.5升级到了centos6.8!! centos5.5中在安装php扩展php-memcached的依赖 ...
- [Linux][PHP]安装swoole扩展
1.下载swoole 2.解压并配置 /usr/local/php/bin/phpize ./configure --enable-swoole-debug --enable-sockets --en ...
- lnmp---------------lnmp1.3-full安装包安装lnmp环境,如何安装PHP扩展
1. 如果已经安装LNMP套件,请按以下步骤处理 a. 跳转到fileinfo源代码目录` cd /root/downloads/lnmp1.2-full/src/php-7.0.7/ext/file ...
- linux php 安装 memcache 扩展
1. memcached依赖于libevent,需要先安装libevent. tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-sta ...
- linux下包不重新编译php安装openssl 扩展
今天在刚装好的centos上安装composer,老是报错,提示不安全的,后来发现是由于https的缘故,需要openssl,可能是开始装php的时候没有安装此扩展,网上有好多方案,一开始我认为只有重 ...
随机推荐
- python 使用__neg__和__iter__
__neg__ python中 __neg__ 方法对应于 符号 - 可见 str 没有__neg__,定义 strnew 好吧,无法再简化了 __iter__ 看看 list 的 __iter__: ...
- mui框架中底部导航的跳转2
接上一篇 还有一种方法就是在一心得页面中打开我们所需要的网页 代码如下: 向新的的页面穿值: 获取到新页面上的值:
- SQL Server 求结果
;with cte as ( select CONVERT(DATE, DATEADD(DAY, -9, GETDATE())) as paytime union all select datead ...
- dot
今天写程序的时候发现一个问题啊 在主函数里面吧某个指针node* r=NULL 赋值为空 然后调用函数insert(node* r,....) 在insert里面呢,我给这个指针赋值了啊 但是主函数里 ...
- java 遍历arrayList的四种方法
package com.test; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public ...
- 一图搞定【实战Java高并发程序设计】
来了解下java并发的技术点吧.这里面包括了并发级别.算法.定律,还有开发包.在过去单核CPU时代,单任务在一个时间点只能执行单一程序,随着多核CPU的发展,并行程序开发就显得尤为重要.这本书主要介绍 ...
- 在C#代码中应用Log4Net(一)简单使用Log4Net
首先让我们先把Log4Net跑起来,示例代码在文章最后面可以下载 1.先把Log4Net引入到工程中,为了演示方便,我们先建立一个winform程序.在程序的根目录下面,建立一个Libs文件夹,以便存 ...
- Copy 与MutableCopy的区别
NSString *string = @"origion"; NSString *stringCopy = [string copy]; NSMutableString *stri ...
- Base 64 编码
原创地址:http://www.cnblogs.com/jfzhu/p/4020097.html 转载请注明出处 (一)Encoding VS. Encryption 很多人都以为编码(Encodin ...
- 《Entity Framework 6 Recipes》翻译系列 (4) -----第二章 实体数据建模基础之从已存在的数据库创建模型
不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创 ...