php编译完成后安装mysql扩展

搭建测试环境时遇到的问题:使用firefox 浏览测试页返回空白页,没有报错信息

原因:

Php版本是5.2,虽然在安装的时候指定了mysql扩展,但是安装时并没有装上

解决办法:

1、进入php源代码目录:

[root@localhost  /]# # cd cd/usr/local/php-5.2.11

2、再进入要添加的mysql扩展源码目录:

[root@localhost php-5.2.11]cd ext/mysql/

[root@localhost  mysql]# yuminstall autoconf  (CentOS 5.4需安装)

3、调用已经编译好的php可执行程序phpize

[root@localhost  mysql]/usr/local/php/bin/phpize

4、然后configure

[root@localhostmysql]#./configure --with-php-config=/usr/local/php/bin/php-config--with-mysql=/usr/local/mysql/--with-zlib-dir=/usr/local/lib

注意:

/usr/local/mysqlmysql的安装目录

5、编译安装

[root@localhostmysql]#make

[root@localhost mysql]#makeinstall

6、编译完成之后,将会自动把mysql.so放到了默认的php扩展目录下(phpinfo可查看,我的为/usr/local/php/lib/php/extensions/no-debug-zts-20090626),再修改php.ini,去掉;extension=mysql.so前面的分号。如果没有这句,需要自行添加。

不过有一点需要注意的是,生成的模块名叫mysql.so,跟php.ini里面的php_mysql.so名字不一致,必须把mysql.so改名为php_mysql.so,也可修改php.ini中的文件名,总之文件名必须一致.

7、重启php-fpm

8、查看mysql扩展有没有添加成功

/usr/local/php-cgi/bin/php -m

注:Configure时报错:configure:error: mysql configure failed. Please checkconfig.log for more information:想起我的系统都是X86的,lib都是64位的.所以解决方法很容易.这个libmysqlclient.alibrary 是在/usr/lib64/mysql, 不是在/usr/lib/mysql.所以可以做下面的方法来解决

#exportLDFLAGS=-L/usr/lib64/mysql 
OR请将Makefile里面的
-L/usr/lib/mysql改为
-L/usr/lib64/mysql


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。