搭建测试环境时遇到的问题:使用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/mysql为mysql的安装目录
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
原文地址:http://gtest.blog.51cto.com/5191200/1651034