PHP系列—动态添加php扩展模块
2017-07-17 11:54
856 查看
一、 phpize的作用
什么时候我们要用phpize呢?我们在安装php时:./configure \ --prefix=/usr/local/php \ --with-mysql=/usr/local/mysql \ --with-iconv \ --with-gettext \ --with-curl \ --enable-fastcgi \ --with-openssl ......
后面参数就是我们需要的PHP模块(这些模块安装的时候可能没有编译进来),以后我们可能还想再增加些其他得模块,但是又不想重新编译php,这个是时候我们就可以用phpize了。
二、 安装php模块
下面以soap安装为例:1、首先进入PHP源码目录,然后找到并切换到ext目录, ext目录下面存放的就是php的模块库
# 切换到soap目录下 [root@bogon /]# cd /usr/local/src/php-7.1.7/ext/soap
2、运行phpize生成configure
[root@bogon soap]# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303
3、编译
指定php-config,注意这里的php-config,不是php.ini。(可以添加–enable-soap,也可以不用添加)[root@bogon soap]# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-soap
4、编译安装(make install 之后系统会提示你soap.so文件所在的目录)
[root@bogon soap]# make [root@bogon soap]# make install Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
5、生成一个目录来存放扩展的模块并复制soap.so到模块目录
[root@bogon soap]# mkdir /usr/local/php/etc/php/ext [root@bogon soap]# cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/soap.so /usr/local/php/etc/php/ext
6、编辑php.ini文件,指定PHP到哪个目录读模块
[root@bogon soap]# vim /usr/local/php/etc/php.ini extension_dir="/usr/local/php/etc/php/ext" # Load模块 extension=soap.so # 保存退出 # 重启apache # 查看是否有ftp.so [root@bogon soap]# /usr/local/php/bin/php -m|grep ftp
附:操作过程中出现的错误
[root@bogon soap]# ./configure --enable-soap --with-php-config=/usr/local/php/bin/php-config configure: error: invalid feature name: soap
解决方法:调整一下参数的顺序,如下:
[root@bogon soap]# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-soap
相关文章推荐
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- 动态添加php扩展模块
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- Linux下php动态添加扩展(续)
- 独立添加PHP扩展模块
- linux下用phpize给PHP动态添加扩展
- php添加扩展模块
- Linux下 添加PHP扩展模块 curl
- 不重新编译php添加扩展模块
- php添加开启pdo_mysql扩展模块
- linux下用phpize给PHP动态添加扩展(转)
- linux下用phpize给PHP动态添加扩展
- EasyUI系列之扩展easyui datagrid的两个方法.动态添加和删除toolbar的项
- macOS 中使用 phpize 动态添加 PHP 扩展的错误解决方法
- PHP动态扩展模块安装