前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >不重新编译PHP,单独添加扩展模块的方法

不重新编译PHP,单独添加扩展模块的方法

作者头像
跑马溜溜的球
发布2020-12-07 15:31:00
发布2020-12-07 15:31:00
1.7K00
代码可运行
举报
文章被收录于专栏:日积月累1024日积月累1024
运行总次数:0
代码可运行

问题

php自身提供了很多扩展,比如curl,gmp, mbstring等等。我们在编译安装php时未必安装了所有扩展。那么在安装完php后,如果想单独安装某个php自身的扩展怎么办呢?

我们以curl扩展模块的安装为例说明如何单独添加扩展。

步骤

1.进入php源码的扩展目录。本例中我的源码对应目录如下:

代码语言:javascript
代码运行次数:0
运行
复制
/search/src/php-7.0.14/ext

2.进入模块目录,我们安装的是curl扩展,所以进入curl目录。此时,我们所在的目录是

代码语言:javascript
代码运行次数:0
运行
复制
/search/src/php-7.0.14/ext/curl

3.执行phpize。注意,如果你的机器上有多个php版本,一定要执行你准备安装扩展的php版本对应的phpize。比如,我的机器上同时有php7和php5.3.3。我当前准备为php7安装curl扩展。所以执行php7对应的phpize

代码语言:javascript
代码运行次数:0
运行
复制
/usr/local/php70/bin/phpize

结果类似:
Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012

4.执行

代码语言:javascript
代码运行次数:0
运行
复制
./configure --with-php-config=/usr/local/php70/bin/php-config

说明:如果你的机器上只有一个php版本,大多时候不需要特别使用–with-php-config指明相应的php-config所在位置。

5.执行make,之后会在./modules/目录下生成curl.so文件

6.执行make install

代码语言:javascript
代码运行次数:0
运行
复制
结果类似:
Installing shared extensions:     /usr/local/php70/lib/php/20151012/

执行结果告诉你将curl.so安装到了哪个目录。

一般情况,如果你正确的指定了php-config或者你的机器只有一个php版本,so都会被正确安装到相应php的extension_dir。如果执行make install后,extension_dir目录下没有相应的so,可以手动将第5步中生成的so文件cp过去。

要查看具体extension_dir,可以执行如下命令。

代码语言:javascript
代码运行次数:0
运行
复制
php -i| grep extension_dir
结果类似
extension_dir => /usr/local/php70/lib/php/20151012/ => /usr/local/php70/lib/php/20151012/

7.在php.ini中增加

代码语言:javascript
代码运行次数:0
运行
复制
extension=curl.so

如果不知道php.ini的具体位置,可以通过如下命令查看

代码语言:javascript
代码运行次数:0
运行
复制
php --ini

8.执行如下命令,查看是否安装成功

代码语言:javascript
代码运行次数:0
运行
复制
php -m | grep curl

如果你看到了curl, 恭喜你,安装成功!

注意:如果你是使用fpm,apache等方式执行php。在修改相应的php.ini后,还需要重新启动fpm或apache,新的扩展才会生效。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/01/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档