安装好的php独立添加扩展模块

在装好php后,或者在使用php的时候,发现某个模块没有添加,而又不想重新编译安装,这时就需要单独添加扩展模块。

php环境说明:

   安装路径:/data/php5.6/

   解压路径:/data/php-5.6.38/

   系统:ubuntu

 

1.php的启动和关闭

#/data/php5.6/sbin/php-fpm

#PID=`ps -ef | grep php | grep master | awk '{print $2}'`

#kill -s QUIT ${PID}

 

2.查看已装好的模块

#/data/php5.6/sbin/php-fpm -m

 

3.首先进入php解压后源目录下ext目录

 

 4.这里举例添加一个bz2模块,进入ext下的bz2目录里,可以看到其目录下并无可执行文件configure

 

5.进入模块目录下后,执行phpize命令,为其生成用来编译的一些文件

若是首次添加模块,可能会报缺少autoconf的错,只需要执行 apt-get install autoconf 安装即可

 

6.在当前目录下执行configure

# ./configure --with-php-config=/data/php5.6/bin/php-config

但是报错

 

7.没有安装bzip2和bzip2-devel,接着apt执行安装

但是竟然说找不到bzip2-devel这个软件包

网上搜了一下,bzip2在Ubuntu里面真正的包名是libbz2-dev,就直接安装这个了

 

8.接着再一次执行configure,若无error字眼,那就执行make和install

#make

#make install

这个目录很关键,大概就是存放扩展的模块文件的地方

 

9.修改php.ini文件(此步不正确)

#vi /data/php5.6/php.ini

其中,去掉扩展模块的注释,将extension=php_bz2.dll前的;去掉

 

10.重启php,但是启动的时候竟然报错

报错是说在某个目录下的某个文件,不能打开,是找不到文件。这个目录就是存放扩展模块文件的目录(A),,这文件名是刚才php.ini里配置的,那意思就是在php.ini里extension的模块名要在(A)目录里面存在,而bz2模块在(A)目录里的文件名是bz2.so

 

11.再次重回php.ini修改

启动php成功,再次查询已装模块

 

posted @ 2018-09-16 16:00  _chy  阅读(795)  评论(1编辑  收藏  举报