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