解决php5.4安装pdo_mysql出错

post by rocdk890 / 2013-1-28 16:29 Monday linux技术
  今天给新的测试机安装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模块加进去了.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-314.html

标签: php pdo_mysql php5.4 pdo 软链接

  1. gravatar 放羊的年轻人
    2014-09-17 19:59
    我是来感谢楼主的!!!
    就这 fatal error: mysql.h: No such file or directory 就这错误, 百谷了半小时无果, 看了博主的结尾终于解决了
       # find / -name mysql.h  // 我的在 /usr/include/mysql/mysql.h

       # ln -s /usr/include/mysql/*  /usr/local/include/
  1. 2014-03-14 14:23
    @efan:仔细看看错误提示的是什么?再根据错误提示去解决.
  1. gravatar efan
    2014-03-13 12:19
    我按你的这种方法执行后还是这种问题,怎么办

评论: