php不重新编译添加模块
本文以安装mysqli模块为例
一、检查
1:首先保证php-fpm能正常启动
2:查看当前已安装的php模块是否有mysqli
- [root@web01 ~]# /application/php/bin/php -m|grep mysql
- mysql
- mysqlnd
- pdo_mysql
从检查结果看,并没有安装mysqli模块
二、安装
1:进入到php源码包目录下
- [root@web01 ~]# cd /server/tools/php-5.5.32/
- [root@web01 php-5.5.32]# ls
进入ext/mysqli/目录
cd ext/mysqli/
/application/php/bin/phpize #检查环境的
执行./configure --with-php-config=/application/php/bin/php-config #--with-mysqli可加可不加
.......
make && make install
.......
- [root@web01 mysqli]# make install
- Installing shared extensions: /application/php-5.5.32/lib/php/extensions/no-debug-non-zts-20121212/
- Installing header files: /application/php-5.5.32/include/php/
#可以看到它会在/application/php-5.5.32/lib/php/extensions/no-debug-non-zts-20121212/目录下生成mysqli.so文件
- [root@web01 mysqli]# ls /application/php-5.5.32/lib/php/extensions/no-debug-non-zts-20121212/
- mysqli.so
三.配置
- 修改/application/php/lib/php.ini的配置文件
- [root@Web01~]# find /application/php5.5.38/ -name "php.ini"
- /application/php5.5.38/etc/php.ini #找出php配置文件php.ini的路径,默认在etc下,需要拷贝至lib下
- [root@web01~]# cp /application/php5.5.38/etc/php.ini /application/php5.5.38/lib/php.ini
- [root@web01~]# vi /application/php/lib/php.ini
- 只需要改一处
- 将718行的
- ; extension_dir = "ext"
- 修改为
- extension_dir = "/application/php-5.5.32/lib/php/extensions/no-debug-non-zts-20121212/"
- extension = "mysqli.so"
###如果需要添加其他模块,例如memcache.so,直接添加在后面添加一行extension = "memcache.so"即可
四:重启php-fpm
- killall -9 php-fpm
- /application/php/sbin/php-fpm
检查:
- [root@web01~]# /application/php/bin/php -m|grep mysql
- mysql
- mysqli
- mysqlnd
- pdo_mysql
至此mysqli模块添加完成!