不重新编译PHP,单独添加扩展模块的方法
2018-01-09 18:10
561 查看
问题
php自身提供了很多扩展,比如curl,gmp, mbstring等等。我们在编译安装php时未必安装了所有扩展。那么在安装完php后,如果想单独安装某个php自身的扩展怎么办呢?我们以curl扩展模块的安装为例说明如何单独添加扩展。
步骤
1.进入php源码的扩展目录。本例中我的源码对应目录如下:/search/src/php-7.0.14/ext
2.进入模块目录,我们安装的是curl扩展,所以进入curl目录。此时,我们所在的目录是
/search/src/php-7.0.14/ext/curl
3.执行phpize。注意,如果你的机器上有多个php版本,一定要执行你准备安装扩展的php版本对应的phpize。比如,我的机器上同时有php7和php5.3.3。我当前准备为php7安装curl扩展。所以执行php7对应的phpize
/usr/local/php70/bin/phpize 结果类似: Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012
4.执行
./configure --with-php-config=/usr/local/php70/bin/php-config
说明:如果你的机器上只有一个php版本,大多时候不需要特别使用–with-php-config指明相应的php-config所在位置。
5.执行make,之后会在./modules/目录下生成curl.so文件
6.执行make install
结果类似: 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,可以执行如下命令。
php -i| grep extension_dir 结果类似 extension_dir => /usr/local/php70/lib/php/20151012/ => /usr/local/php70/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,新的扩展才会生效。
相关文章推荐
- 不重新编译php添加扩展模块
- 不重新编译php添加扩展模块
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- Linux环境下不重新编译php添加扩展模块
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- 用phpize单独编译安装PHP扩展模块
- 不重新编译PHP的情况下独立添加扩展
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- php5.5以上版本编译扩展模块方法
- php单独编译扩展模块
- php不重新编译安装扩展模块
- php不重新编译添加模块 php不重新编译添加模块
- linux 添加gd扩展(不重新编译php)
- 不重新编译PHP为php增加openssl模块的方法
- apache添加扩展模块(不重新编译)
- 不重新编译添加php模块
- 不重新编译PHP为php增加openssl模块的方法