环境:

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扩展的更多相关文章

  1. phpize安装PHP扩展

    安装编译完成php源码后忘记安装一些扩展可以通过phpize来安装 拿lnmp1.6安装举例 安装完成lnmp后发现有些扩展没有 lnmp1.6的安装脚本会在lnmp1.6里生成src,里面是lnmp ...

  2. phpize安装php扩展CURL

    进入php源码包curl扩展目录 cd php-/ext/curl phpize ./configure --with-php-config=/usr/local/webserver/php/bin/ ...

  3. 搭建memcached使用:/usr/bin/phpize 安装memcached扩展的时候报错

    Can't find PHP headers in /usr/include/phpThe php-devel package is required for use of this command ...

  4. 编译安装PHP7并安装Redis扩展Swoole扩展

    编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...

  5. centos下安装php扩展php-memcached

    说来坎坷,为了安装这个php的扩展php-memcached,连操作系统都换了,从centos5.5升级到了centos6.8!! centos5.5中在安装php扩展php-memcached的依赖 ...

  6. [Linux][PHP]安装swoole扩展

    1.下载swoole 2.解压并配置 /usr/local/php/bin/phpize ./configure --enable-swoole-debug --enable-sockets --en ...

  7. lnmp---------------lnmp1.3-full安装包安装lnmp环境,如何安装PHP扩展

    1. 如果已经安装LNMP套件,请按以下步骤处理 a. 跳转到fileinfo源代码目录` cd /root/downloads/lnmp1.2-full/src/php-7.0.7/ext/file ...

  8. linux php 安装 memcache 扩展

    1. memcached依赖于libevent,需要先安装libevent. tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-sta ...

  9. linux下包不重新编译php安装openssl 扩展

    今天在刚装好的centos上安装composer,老是报错,提示不安全的,后来发现是由于https的缘故,需要openssl,可能是开始装php的时候没有安装此扩展,网上有好多方案,一开始我认为只有重 ...

随机推荐

  1. >hibernate初认识

    一.什么是hibernate 1.hibernate是java领域的一款开源的ORM框架技术 2.hibernate对JDBC进行了非常轻量级的封装(使用了反射机制+配置或注解) 二.hibernat ...

  2. 解决Unity5+Vuforia+Network本地联机发布到Android上白屏的问题

    Unity5+Vuforia+Network本地联机,在Android下点击联机,然后识别模型就出现白屏,点击屏幕上相应位置的按钮(已白屏,但点击该看不见的按钮)还是能起作用,如跳转到其他场景正常. ...

  3. sscanf_强大的数据读取-转换

    function <cstdio> sscanf int sscanf ( const char * s, const char * format, ...); Read formatte ...

  4. Java的书写格式,标识符及命名规则,注释

    Java的书写格式,标识符及命名规则,注释 1.Java语言的书写格式(约定成俗) 1) 大括号要对齐(左大括号与句尾对其,后面大括号与句头对齐),并且成对写 2) 左大括号前面有空格 3) 遇到左大 ...

  5. PHP的函数应用

    1.全部变量 全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的结尾.和其他编程语言不同,全局变量不是自动设置为可用的.在PHP中,由于函数可以视为单独的程序片 ...

  6. ios 定位

    ios 定位新功能----在程序中实现定位功能 Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如 ...

  7. 验证码类库CaptchaMvc

    CaptchaMvc是一个有弹性的.简单的解决方案,它能够解决你项目中所有与验证码相关的问题.你需要做的所有事情就是向你的项目中添加一个类库,添加之后验证码就准备就绪了.该项目拥有使用验证码所需要的所 ...

  8. ASP.NET Core中显示自定义错误页面-增强版

    之前的博文 ASP.NET Core中显示自定义错误页面 中的方法是在项目中硬编码实现的,当有多个项目时,就会造成不同项目之间的重复代码,不可取. 在这篇博文中改用middleware实现,并且放在独 ...

  9. [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)

    文章来自:http://www.hoohack.me/2016/02/15/understanding-phps-internal-array-implementation-ch 原文:https:/ ...

  10. Java NIO5:选择器1---理论篇

    选择器 最后,我们探索一下选择器.由于选择器内容比较多,所以本篇先偏理论地讲一下,后一篇讲代码,文章也没有什么概括.总结的,写到哪儿算哪儿了,只求能将选择器写明白,并且将一些相对重要的内容加粗标红. ...