PHP无法在MySQL 5.5版本以后通过编译
来源:互联网 发布:广电网络的营业员 编辑:程序博客网 时间:2024/05/22 00:20
转自:http://www.linuxidc.com/Linux/2011-07/38260.htm
在FreeBSD里升级php5-extensions的过程中,出现mysqli无法正常进行编译,错误提示:
===> Building for php5-mysqli-5.2.12_2
/bin/sh /usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/libtool --mode=compile cc -I. -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -DPHP_ATOM_INC -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/include -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/main -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/local/include/mysql -DHAVE_CONFIG_H -O2 -pipe -fno-strict-aliasing -c /usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c -o mysqli.lo
mkdir .libs
cc -I. -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -DPHP_ATOM_INC -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/include -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/main -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/local/include/mysql -DHAVE_CONFIG_H -O2 -pipe -fno-strict-aliasing -c /usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c -fPIC -DPIC -o .libs/mysqli.o
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c: In function 'zm_startup_mysqli':
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:637: error: 'MYSQL_RPL_MASTER' undeclared (first use in this function)
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:637: error: (Each undeclared identifier is reported only once
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:637: error: for each function it appears in.)
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:638: error: 'MYSQL_RPL_SLAVE' undeclared (first use in this function)
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:639: error: 'MYSQL_RPL_ADMIN' undeclared (first use in this function)
*** Error code 1
1 error
*** Error code 1
Stop in /usr/ports/databases/php5-mysqli.
===>>> make failed for databases/php5-mysqli
===>>> Aborting update
===>>> Update for databases/php5-mysqli failed
===>>> Aborting update
原因:这是mysql的一个bug,http://bugs.php.net/bug.php?id=46207&edit=1 ,已经提交了。
解决:
修改/usr/local/include/mysql/mysql.h文件内容:
enum mysql_protocol_type
{
MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET,
MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY
};
----------------------------==添加的内容开始==-------------------------------------
enum mysql_rpl_type
{
MYSQL_RPL_MASTER, MYSQL_RPL_SLAVE, MYSQL_RPL_ADMIN
};
----------------------------==添加的内容结束==--------------------------------------
typedef struct character_set
{
unsigned int number;
unsigned int state;
const char *csname;
const char *name;
将以上蓝色的部分内容,添加到mysql.h文件对应的位置,重新编译即可。
NND,害得我差点就重装mysql了。
我改了后依然还有(其它类似)问题,最后不得已改用了PHP5.3,在PHP5.3编译中顺利通过。
- PHP无法在MySQL 5.5版本以后通过编译
- mysql升级到5.5版本以后无法编译
- php系统搬迁以后mysql无法链接
- mysql 5.5以后的版本乱码
- 在vmwate的CentOS7的虚拟机中安装在rails 4.2.0 版本以后,无法通过其他机器访问 3000端口的问题
- php-5.2+mysql-max-5.0.27+httpd-2.2.3在FC5上编译通过
- mysql 5.5 版本编译安装
- Xcode7版本以后app无法联网问题解决
- 项目编译无法通过
- STL中使用模板在gcc中无法通过编译
- VB6.0在编译declare语句时报错,无法通过
- 在QtCreator中纯代码编写程序编译无法通过
- 在Windows平台上切换php版本(apache+mysql+php)
- MySQL 数据库 5.0 以前版本,移植5.5 以后版本 和 字符集乱码解决方案
- 无法在Mac Os下通过Gem安装Mysql
- 在windows下编译PHP(5.4版本)
- 源码编译安装PHP和Apache(解决php通过yum安装版本低的问题)
- C#动态库在Unity3D 4.5版本上可以编译通过,但在5.2版本上编译不通过的问题
- 微博推出“微博秀”小组件啦
- Storyboard全解析
- 《将博客搬至CSDN》
- JConsole远程监控JBoss服务器
- 自定义 title 提示信息框
- PHP无法在MySQL 5.5版本以后通过编译
- [CTCI] 4.6 First Common Ancestor for Two Nodes On a Binary tree
- c#常用的Datable转换为json,以及json转换为DataTable操作方法
- gitk的使用
- 学习jVM之垃圾回收器学习总结
- 复习线程----调用run()方法和调用start()方法的区别
- Ruby Scopes
- linux内核外部驱动模块编译报错ERROR: "******" [drivers/**.ko] undefined!
- 使用Linux命令行测试网速