一般我们编译安装php时,不知道到底要安装哪些扩展,即使想全部安装,也不能将所有扩展的扩展名都列举出来,所以一般是需要哪些扩展就安装哪些扩展,待后续需要某扩展时再补充编译进去
如果我们运行的php版本有对应的扩展,而是之前编译时没有编译进去,可以通过以下方法安装。
1、直接cd到之前安装的源代码目录下的ext/extends_package_name,即对应的扩展包路径
2、在该扩展目录下运行命令phpize(如果没有phpize,则指定完整路径,如我的在/usr/local/php/bin/phpize),该命令的目的是生成configure文件
3、运行命令./configure --with-php-config=/usr/local/php/bin/php-config --with-extention
--with-php-config为已安装的php的php-config文件完整路径
--with-extention为现在需要补充的php扩展项,如果该配置项需要赋值,而你系统的对应库不在默认路径,则需要指定路径,如果在默认路径,则不需要指定。
4、make
5、make test
6、sudo make install
6、将刚刚安装的扩展配置到php.ini
应用举例:
1)mysqli
/usr/local/php5/bin/phpize 这里回车运行,执行完后就出了configure文件,
./configure –with-php-config=/usr/local/php5/bin/php-config –with-mysqli=/usr/local/mysql/bin/mysql_config
直接回车,不出问题就继续。。
make
make test
make install (不出错就会显示Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20041030/)
现在mysqli.so文件就出来啦。。
直接在php.ini里把这个文件加载就OK啦。。
extension_dir=”/usr/local/php5/ext”
extension=mysqli.so
2)加密扩展 --with-mcrypt --with-mhash