PHP 编译 mysql4 apache 的错误

今天尝试编译PHP4中加上MYSQL4,据说mysql3的CLIENT的协议是一个非常老的,速度什么的差很多,可编译好几次都失败了,今天决定一定编译过去
 
   用的是这个命令:
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.33 --with-iconv
  
   中间是加了ICONV,字符的转换,中间我需要UTF-8 转成 GB2312, 在/usr/local/mysql 装4.1.16,然后就报这个错
 
1 ext/mysql/php_mysql. lo(.text+0x2040): In function `zif_mysql_create_db':
2 /var/temp/php-4.4.0/ext/mysql/php_mysql.c:1160: undefined reference to `mysql_create_db'
3 ext/mysql/php_mysql.lo(.text+0x2253): In function `zif_mysql_drop_db':
4 /var/temp/php-4.4.0/ext/mysql/php_mysql.c:1202: undefined reference to `mysql_drop_db'
在GOOGLE中查了一下,台湾的一个哥们显然也碰到了这个问题
 
中间他提示: 才找到是因為 PHP 使用了 MySQL 4 預設不編譯的 3.x 舊 function
所以要在 build MySQL 時指定 CFLAGS=-DUSE_OLD_FUNCTIONS 的環境變數,
 
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
 
./configure --prefix=/usr/local/mysql CFLAGS="-DUSE_OLD_FUNCTIONS -O6 -march=pentiumpro -fomit-frame-pointer"  --with-mysqld-ldflags=-all-static --without-inodb --without-bdb
 
  又全部重新编译APACHE和php
./configure /
--prefix=/usr/local/apache  /
--activate-module=src/modules/php4/libphp4.a /
--disable-module=actions /
--disable-module=autoindex /
--disable-module=env /
--disable-module=imap /
--disable-module=negotiation /
--disable-module=status /
--disable-module=userdir /
--disable-module=cgi /
--disable-module=include /
--disable-module=auth /
--disable-module=asis /
--enable-module=so /
--enable-module=setenvif /
--enable-module=rewrite /
--enable-module=expires;make;make install;
 
重新编译成功,只是ZEND OPTIMZER好像就安装不成了,php是用的4.4.1 ,不知道zend OPTIMZER应该是用那个版本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值