安装PDO_MYSQL遇到的问题:need re2c、 Cannot find MySQL header、php_pdo_mysql_int.h:25:19

LNMP环境搭建后总会遇到各类问题,今天在使用TP搭建网站时,出现could not find driver错误,正是由于服务器环境没有pdo_mysql扩展导致。安装过程遇到的问题:

安装
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar xzvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
./configure --with-php-config=/usr/local/php/bin/php-config

问题
You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
解决办法:
wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
tar zxf re2c-0.13.5.tar.gz && cd re2c-0.13.5
./configure
make && make install

问题
安装PDO_MYSQL遇到的问题:error: Cannot find MySQL header files under
这是因为没找到mysql的安装目录,解决办法为执行以下命令:
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/data/mysql (/data/mysql为mysql的安装目录)

编译
make

问题
/php_pdo_mysql_int.h:25:19: 错误:mysql.h:没有那个文件或目录
编译中断。
make: * [pdo_mysql.lo] 错误 1

解决:
在编译时需要MySQL的头的文件,默认搜索找不到头文件的位置,需要建立个软连接:
ln -s /data/mysql/include/* /usr/local/include/

继续
make install
`Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
`

编辑php.ini写入pdo_mysql.so

重启php-fpm即可

PS:问题总是太多,还好度娘渊博。

Tags: Linux, mysql