康乐php5.2_解决php5.2与mysql兼容问题

最近在做一键安装包(LAMP、LAMP)--适用于阿里云小白的产品。过程中,遇到一个问题,在Ubuntu14.04系统上,测试Apache2.2+php5.2+mysql5.1 ,编译安装php出现了问题。

报错内容:ext/zip/lib/.libs/zip_dirent.o: In function `memset':

/usr/include/x86_64-linux-gnu/bits/string3.h:81: warning: memset used with constant zero length parameter; this could be due to transposed parameters

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_disable_reads_from_master':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:44: undefined reference to `mysql_disable_reads_from_master'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_disable_rpl_parse':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:60: undefined reference to `mysql_disable_rpl_parse'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_enable_reads_from_master':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:77: undefined reference to `mysql_enable_reads_from_master'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_enable_rpl_parse':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:94: undefined reference to `mysql_enable_rpl_parse'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_master_query':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:112: undefined reference to `mysql_master_query'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_rpl_parse_enabled':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:131: undefined reference to `mysql_rpl_parse_enabled'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_rpl_probe':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:148: undefined reference to `mysql_rpl_probe'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_rpl_query_type':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:169: undefined reference to `mysql_rpl_query_type'

ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_slave_query':

/root/sh-1.5.5/php-5.2.17/ext/mysqli/mysqli_repl.c:208: undefined reference to `mysql_slave_query'

collect2: error: ld returned 1 exit status

make: *** [sapi/cli/php] Error 1

对于这个问题,我是各种百度Google,没有找到解决办法,唯一看到就是说是mysql版本bug。没办法,去找mysql5.1bug相关信息,才知道需要改编译文件。

php在编译时,不要加--with-mysqli这个参数,先把php编译安装好,只是不能喝mysql结合。然后,修改php安装包下的文件ext/zip/lib/zip_dirent.c把memset(&tm, sizeof(tm), 0);替换成memset(&tm, 0, sizeof(tm));

然后 ,cd ext/mysqli/

/php/bin/phpize

./configure --with-php-config=/php/bin/php-config  --with-mysqli=/mysql-5.1.73/bin/mysql_config

make

make install

然后就OK了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值