php模块安装的方式

1、静态安装

将先将在安装php之前先将需要安装的程序装上,如ftp、mhash、mcrypt……安装完成后,解压php安装包,执行./configure –with-ftp –with-mhash –wth-mcrypt等等。后面具体跟的参数可以参看./configure –help查看。编译好后,执行make && make install 就行了。

2、动态安装

而在往往我们进行编译php时经常会忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想再重新装php,于是可以采用phpize来动态加载需要安装的模块。具体实现方法如下(这里以忘记安装pdo_mysql模块为例):

1cd /root/source/php-5.3.10/ext/pdo_mysql
2/usr/local/php/bin/phpize

在安装完mysql后,并不是进入/root/source/mysql-5.5.21目录运行phpize,而是进入php的源文件中要增加的扩展模块的文件目录—也就是/root/source/php-5.3.10/ext/pdo_mysql目录执行phpize。如果不是这样操作的话就会提示下面的错误:

1Cannot find config.m4.
2Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module

关于上面的这个错误,我不得不鄙视下网上有些自以为是的家伙,自认为对所有的安装操作很懂,报上面的错误的时候,去修改源代码,搞的乱七八糟,误人子弟。根本不按php官方的文档操作。

目录/root/source/php-5.3.10/ext/pdo_mysql ,在运行phpize命令前并没有configure文件,只有config.m4文件。运行phpize就生成了一个可执行的configure文件。此时就可以按照下的方法编译了:

1./configure --with-php-config=/usr/bin/php-config  (还可以加一些其他的参数,可通过./configure --help查看) 
2make
3make install

编译完成后会提示扩展模块生成在/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626目录。
修改php.ini文件

1vi /usr/local/php/etc/php.ini
2在其文件结尾加入下面的内容:
3extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626”
4extension=pdo_mysql.so

安装完成后,重启php-fpm和web服务器。(因为我用的是php-fpm和tengine,如果用的是apache则也重启相应的程序,重新加载就行了)