php7.0扩展安装失败,PHP7安装扩展

使用环境:Centos7+PHP7.0.9

源码编译安装的php可以通过安装包目录的扩展包(ext)进行组件安装,需要使用到phpize这个执行文件:

dcb95dfb93d4a80f96d7912e75bc239e.png

把phpize加到系统全局中,方便使用:

# ln -s /usr/local/php/bin/phpize /bin/

b31cc58562efc14e5698e0c9dde59248.png

查看php当前支持的扩展:

# php -m

66b3efb4b4760994ab3b5524d1098164.png

可以方便看到挺多常用扩展(如:mbstring、mcrypt、pdo_mysql、openssl等等)在源码安装的时候并没装上。

我安装openssl为例,进入php源码安装包ext目录:

e2f5a35d41a3b83ad52ff6872fec3534.png

进入openssl执行phpize进行编译,报了个找不到文件的错误:

a0a4828e03d66828274c6ddbe6872e6c.png

没关系,通过拷贝config0.m4,创建一个config.m4,再此执行编译:

da446c56affe24996b9d6b2b30954eda.png

又出问题了,没有autoconf这个工具:

Cannot find autoconf. Please check your autoconf installation and the

$PHP_AUTOCONF environment variable. Then, rerun this script.

因为autoconf 依赖于m4,所以会自动下载解决这个依赖关系,通过yum把它下载下来:

# yum -y install autoconf

重新执行phpize,没问题了。

ef6a032c2c8cd432a117e1deab5d1586.png

f7fba1e43cc286675249f9456d84463a.png

执行编译:

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

执行安装:

# make && make install

扩展存放路径:

8d56655bbc04dc9d19cf3e237dfb49d7.png

编辑php.ini开启openssl:

通过命令查找php.ini配置,可以看出系统没有读取到php的位置,识别路径为/usr/local/php/lib:

# php --ini

f2943e38ba9a1853e494736c0e5685bf.png

把php安装包中开发或者产品版配置复制一个到指定目录

b0534f4f9d92824591c53903ded946ae.png

编辑php.ini,开启openssl:

869dbc23ff6a68fa18eb45e95f15e03b.png

再此执行php -m查看扩展支持,弹出2个警告,php_openssl.dll找不找:

d08f128388d2fe0dc60160b9936517fa.png

去扩展目录查看个纠结,发现文件扩展名称跟配置文件名称不匹配:

a46728dcef4658007fb9c833dd22a2c3.png

重新编辑php.ini,修改openssl模块名称:

95aed0cebc087861b18ea1ab8d7e6d17.png

重新查看看php扩展支持:

978457fc45b430b988f522bf55e961a7.png

总结:autoconf这个工具是依赖工具是关键,php.ini配置要放对位置,检查配置扩展名称是否跟安装的一致。php命令很实用,可以结合使用排错。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值