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

php自身提供了不少扩展,好比curl,gmp, mbstring等。咱们在编译安装php时未必安装了全部扩展。那么在安装完php后,若是想单独安装某个php自身的扩展怎么办呢?php

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

步骤:
1.进入php源码的扩展目录。本例中个人源码对应目录以下:php7

/search/src/php-7.0.14/ext

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

/search/src/php-7.0.14/ext/curl

3.执行phpize。注意,若是你的机器上有多个php版本,必定要执行你准备安装扩展的php版本对应的phpize。好比,个人机器上同时有php7和php5.3.3。我当前准备为php7安装curl扩展。因此执行php7对应的phpizeurl

/usr/local/php7.0/bin/phpize

结果相似:.net

Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012

4.执行blog

./configure --with-php-config=/usr/local/php7.0/bin/php-config

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

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

6.执行make installstring

结果相似:

Installing shared extensions: /usr/local/php7.0/lib/php/20151012/

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

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

要查看具体extension_dir,能够执行以下命令。

php -i| grep extension_dir
结果相似
extension_dir => /usr/local/php7.0/lib/php/20151012/ => /usr/local/php7.0/lib/php/20151012/

7.在php.ini中增长

extension=curl.so

若是不知道php.ini的具体位置,能够经过以下命令查看

php --ini

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

php -m | grep curl

若是你看到了curl, 恭喜你,安装成功!

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

原文:https://blog.csdn.net/qmhball/article/details/79015888

相关文章
相关标签/搜索