myfreax
PHP

编译php的pdo_mysql扩展

RedHat Yum系的软件包相对于Debian Deb系的软件包还是相差很远,不过用RedHat系的人都通常都是运维人员,从源码包编译成二进制包,那是件小事,虽然我是个Web开发者,也是一个Linux爱好者,所以编译软件不是问题,由于CentOS Linux源中也不包含二进制的包

1 min read
By myfreax
编译php的pdo_mysql扩展

RedHat Yum系的软件包相对于Debian Deb系的软件包还是相差很远,不过用RedHat系的人都通常都是运维人员,从源码包编译成二进制包,那是件小事,虽然我是个Web开发者,也是一个Linux爱好者,所以编译软件不是问题,由于CentOS Linux源中也不包含二进制的包,所以只能自己编译 参考文档

下面是遇到的一些问题,以及解决方式

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.

yum install -y re2c

onfigure: error: mysql_query missing!?

缺少mysql-client开发库

yum install -y mysql-devel
yum install -y mysql-libs

/usr/local/src/php/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:25:19: 错误:mysql.h:没有那个文件或目录

这是由于php_pdo_mysql_int.h头文件使用相对路径包含mysql.头文件,且当前目录也不存在mysql.h文件,其它mysql的头文件找不到的解决方法一样

find / -name mysql.h #找到这个文件,确定路径
vim /usr/local/src/php/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h
#用find找到的路径替换php_pdo_mysql_int.h中mysql.h头文件

编辑php.ini 添加扩展即可,重启PHP-FPM,CLI模式可以省略