Mysql5.5 PHP5.4 装PDO_MYSQL 1.0.2模块遇到的问题

时间:2022-09-19 14:37:23
今天给新的测试机安装lamp环境,但php要求5.4,mysql是5.5,apache是2.2,这样一来我就只能手动安装了,最后居然让php5.4整得我差点无法使这个环境正常运行了,因为大家都知道安装了php,必然要安装pdo_mysql,罪魁祸首就是这个pdo_mysql,下面我来说说怎么解决的.
   系统:centos 5.5
   需要的软件:httpd-2.2.22.tar.gz
              php-5.4.11.tar.gz
              mysql-5.5.22.tar.gz
              PDO_MYSQL-1.0.2.tgz
              libiconv-1.14.tar.gz

1.安装前准备
yum -y install gcc  gcc-c++ libtool-libs autoconf /
freetype-devel gd libjpeg-devel  libpng-devel libxml2-devel /
ncurses-devel zlib-devel zip unzip curl-devel wget crontabs /
file bison cmake patch mlocate flex diffutils automake make /
kernel-devel cpp readline-devel openssl-devel vim-minimal /
glibc-devel  glib2-devel bzip2-devel e2fsprogs-devel libidn-devel /
gettext-devel expat-devel libcap-devel  libtool-ltdl-devel pam-devel /
pcre-devel libmcrypt-devel

2.搭建lamp环境
这个就不说了,网上这样的文章太多了.

3.安装PDO_MYSQL
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar zxf PDO_MYSQL-1.0.2.tgz && cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make
在make的时候有可能会出现下面的错误:
In file included from /data1/PDO_MYSQL-1.0.2/pdo_mysql.c:31:

/data1/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:25:19: error: mysql.h: No such file or directory

In file included from /data1/PDO_MYSQL-1.0.2/pdo_mysql.c:31:

/data1/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:36: error: expected specifier-qualifier-list before ‘MYSQL’

/data1/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:48: error: expected specifier-qualifier-list before ‘MYSQL_FIELD’

/data1/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:53: error: expected specifier-qualifier-list before ‘MYSQL_RES’

make: *** [pdo_mysql.lo] Error 1

解决办法:
这是因为在编译时需要mysql的头的文件,而它按默认搜索找不到头文件的位置,所以才出现这个问题.所以要将 /usr/local/mysql/include/ 目录下的mysql头文件链接到 /usr/local/include/ 的目录下:
ln -s /usr/local/mysql/include/* /usr/local/include/

然后再make和make install,pdo_mysql模块加进去了.



转载自  blog.slogra.com/post-314.html