为PHP增加PDO-Mysql驱动

一、问题

公司有一台老的Linux服务器,Apache+MySQL+Php结构的, 要把最近做的一个PHP项目部署到上面,做为测试环境,

由于新项目是用PHP的YII框架开发的,而YII框架的数据访问使用PDO接口的,因此需要PDO_Mysql驱动的支持。

【注:当前,PDO已成为PHP访问数据库的主要方式,这也是面向接口编程的设计思想。
PHP高版本也都内置了PDO、PDO-SQLite、PDO-Mysql的支持。相信现在大部分的PHP服务器上都支持PDO了。
如果您现在还在用老的 mysql mysqli方式的话,不放用用PDO。】

二、思路

为PHP配置PDO-Mysql驱动无非两种方式,
一种是重新编译、安装、配置PHP,在configure的时候加上--with-pdo-mysql参数即可,
另外一种就是在现有PHP的基础上,增加一个pdo-mysql扩展。

本着方便快速的原则,我们选择了在现有基础上增加pdo-mysql driver的方式。

三、具体操作

0、准备
首先要知道自己当前的php安装在什么位置,假设位于 /user/local/php
目录结构大致是这样的,
 bin
 etc
 include
 lib
 logs
 man

找到这几个文件,下面会用到:
lib/php.ini  php的配置文件,想必您不会陌生,也有可能在etc目录下,看您的具体情况
bin/phpize   这是在不重新编辑php的情况下,为php增加新的扩展的
bin/php-config  php-config是个脚本文件,用来得到一些php的相关信息,比如php安装在哪个目录,扩展库路径是什么等等。 如果您的系统中安装了不止一个php版本, 这个参数会比较有用,用来指定您的扩展安装到哪个php版本上。

另外,要知道自己的Mysql安装在什么地方,
这里假设位于 /usr/local/mysql

1、下载pdo-mysql驱动的源码
网址在 http://pecl.php.net/package/PDO_MYSQL ,从官方网页可以看到这种方式已经不被鼓励使用了,
因为PDO都已经集成到PHP内核中了,只需编译的时候加个参数即可。

以下步骤按顺序操作:

wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar zxvf 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 install

这时,pdo-mysql驱动就已经编译完成了,
一般就在这个目录
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
这里是php扩展的存放位置,可能已经有了很多其他的扩展了,如memcache.so
查看一下该目录,应该已经可以看到 pdo_mysql.so 库文件了。

2、配置php.ini文件

vi /usr/local/php/lib/php.ini

找到 extentions 这一个配置段, 接着增加 pdo_mysql.so 就行了

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "memcache.so"
extension = "pdo_mysql.so"

3、重启apache服务器,就算完成了
apache/bin/apachectl restart

4、phpinfo看一下,是否生效
写一个php文件,简单的一句话 phpinfo()

打开 http://www.aaa.com/test.php 
搜索pdo
会看到如下的提示,说明pdo已经支持mysql驱动了,就可以在php中通过pdo操作mysql数据库了。
PDO drivers sqlite, sqlite2, mysql

时间: 2024-10-12 15:27:11

为PHP增加PDO-Mysql驱动的相关文章

PHP扩展PDO MySQL之PDOStatement::bindParam vs bindValue

PHP扩展PDO MySQL之PDOStatement::bindParam vs bindValue技术 maybe yes 发表于2015-11-16 13:27 原文链接 : http://blog.lmlphp.com/archives/155/The_difference_of_PDOStatement_bindParam_and_bindValue_of_PHP_extension_PDO_MySQL  来自 : LMLPHP后院 前些日子将 LBlog 在线体验站点 http://

php pdo mysql数据库操作类

原文:php pdo mysql数据库操作类 findAll(array( 'field'=>'ID,albumName,albumImage, mainActor,directors,tags,info,area, keywords,wflag,year,mod_version,totalDuration', 'where'=>$where, 'order'=>'flag desc,hit_count desc', 'limit'=>"{$limit['offset']

Centos中安装PHP的PDO MySQL扩展的教程

一聚教程网 >操作系统>>CentOS > Centos中安装PHP的PDO MySQL扩展的教程 www.111cn.net 编辑:Bolshevik 来源:转载 天在寻思着安装 Drupal 玩一下,在安装的过程中发现数据库选项只支持 SQLite 而没有 MySQL.纳尼?为什么会这样?结果发现没有编译安装PDO MySQL导致的.于是赶紧更新LAMP一键安装脚本. PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口.实现 PDO

kettle 安装mysql 驱动

错误连接数据库 [mysql] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the database Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.org.gjt.mm

mysql驱动引起的jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'问题解决

1 om.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4' 2 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 3 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccess

php PDO mysql写法

php PDO写法连接mysql: 写法一: $db="mysql:host=localhost;dbname=sql" : //连接数据,地址localhost:数据库名称sql: $username="root"; //数据库登录账号: $password="root"; //数据库登录密码: try{ $pdo=new PDO($db,$username,$password);   //连接数据库赋值$pdo; }catch(PDOExce

Ubuntu系统 PHP PDO MySQL Extension Loaded

PHP's PDO MySQL extension must be loaded. This is not the same as the MySQLi extension. Please refer to PHP's PDO documentation for more information. 安装php5-snmp CLI PDO MySQL Support 安装php5-mysql

secilog 1.18 发布 增加了mysql审计,多个web报表等

日志分析软件 secilog 1.18发布,增加了mysql数据库审计,增加了多个web报表,对日志查询做了更多友好的新特性,上篇文章1.17,有兴趣可以了解一下.本次升级主要增加以下功能: 增加了mysql数据库审计 mysql的审计主要有几种方式,常用的是分析mysql的binlog功能,而binlog的分析一般不能实时分析,还有个问题就是binlog是二进制内容,需要借助第三方系统才可以分析.还有一种常用的方式是通过sniffer来分析mysql的请求,我们目前主要采用的是sniffer来

Qt编译mysql驱动

Qt连接MySQL 分类: Qt 数据库 2013-02-27 20:57 1452人阅读 评论(0) 收藏 举报 一般情况下,qt只带了qsqlite4和qodbc两种驱动,如果在安装qt时,你没有添加qt -mysq参数,那么意味着,在你的程序中不能直接使用mysql数据库. 那么你就需要安装这个插件. 感谢jpzjpz提供的详细安装过程! 网址为:http://dev.wo.com.cn/bbs/viewthread.jsp?tid=140945&extra=page%3D1 我这里还是在

windows下编译qt的mysql驱动

windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\MySQL\MySQL5.1\include" LIBS+="C:\MySQL\MySQL5.1\lib\opt\libmysql.lib" mysql.promingw32-make在C :\Qt\2010.05\qt\plugins\sqldrivers就有mysql驱动了my