lamp环境下php开启php_mysql扩展

PDO MySQL模块在安装php环境时默认是没有安装了,如果我们要使用PDO MySQL需要在php.ini配置文件中开启PDO MySQL模块功能即可,具体我来给大家介绍一下配置方法。

windows服务器中

找到php安装目录的php.ini文件然后我们搜索到
;extension=php_pdo.dll  这一行,看这行前面是否有分号,如果有的话,把它去掉。然后找找有没有  extension=php_pdo_mysql.dll   如果有,同样去掉前面的分号。如果没有,则手动添加上

最终这两行配置内容如下

extension=php_pdo.dll
extension=php_pdo_mysql.dll

最后重启apahce/iis就可以了

centos服务器

先到http://pecl.php.net/找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysqlphp的版本。

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:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql

make
make install

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/
然后再makemake install,pdo_mysql模块加进去了.

 

注意pdo_mysql的全路径,我的是:
/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so
然后在/usr/local/lib/php.ini
加上一句:

extension=/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so重新启动apache即可看到已经加载pdo_mysql成功。 (试验成功)

 

posted @ 2015-03-24 11:29  罗幕轻寒  阅读(242)  评论(0编辑  收藏  举报