一、问题

公司有一台老的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

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

  1. PHP下mysql驱动概述

    Overview of the MySQL PHP drivers 什么是API? 一 个应用程序接口(Application Programming Interface的缩写),定义了类,方法,函数 ...

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

    PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能.注意利用 PDO 扩展自身并 ...

  3. 更新mysql驱动5.1-47 Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEY

    今天在更新mysql驱动后运行程序突然报如下错误: java.sql.SQLException: Generated keys not requested. You need to specify S ...

  4. inux php pdo mysql 扩展

    今天在本机部署了一个pdo项目,发现一些问题,真没想到pdo mysql,不容易装啊,哈哈,我说的不容易,是因为php5.3以前版本,yum源里面根本没有.部署后就报,Undefined class ...

  5. python 3.5.2安装mysql驱动报错

    python 3.5.2安装mysql驱动报错 python 3.5.2安装mysql驱动时出现如下异常: [root@localhost www]# pip install mysql-connec ...

  6. Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动

    Go语言的 database/sql 包的一个 MySQL驱动. 特性 轻量级与快速 原生Go语言,没有C绑定,只有纯Go 没有不安全的操作(类型转换等) 动态处理崩溃的连接 动态连接池 支持大于16 ...

  7. PHP wget 增强脱裤脚本(PDO MYSQL)

    脚本参考了 LCX Gavin2位前辈的帖子.在此表示非常的感谢. https://www.t00ls.net/thread-26740-1-1.html https://www.t00ls.net/ ...

  8. Ubuntu 16.04 - python3 安装mysql驱动

    阿西吧,今天碰到一件特别蛋疼的事,给Ubuntu安装Python的MySQL驱动,驱动显示安装成功了 pip install mysql-connector 但是 在程序中导入,老是报错. Trace ...

  9. QT编译mysql驱动

    一. 下载mysql C链接库 地址:http://dev.mysql.com/downloads/ 根据当前系统选择下载: 二. 安装下载好的mysql驱动文件 注意,一定要安装在不含有中文.空格以 ...

  10. centos7下编译qt的mysql驱动

    在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...

随机推荐

  1. EXT4.2--Ext Designer 使用

    前言: “画EXT”是一个美好的想法,如果有一款可视化工具能够只需进行拖拽而设计EXT,生成代码--那真是一件美丽的事.然而现实是,即使是为Eclipse装上EXT插件,用上idea,手写代码的提示也 ...

  2. IntelliJ IDEA创建项目技巧(转)

    转自:http://www.myext.cn/webkf/a_2539.html IntelliJ IDEA创建项目技巧 来源:网络    编辑:admin intellij idea教程 首先我要说 ...

  3. CSS滤镜详解

    语法:STYLE="filter:filtername(fparameter1, fparameter2...)" (Filtername为滤镜的名称,fparameter1.fp ...

  4. [设计模式] 11 享元模式 Flyweight

    转 http://blog.csdn.net/wuzhekai1985/article/details/6670298 问题 在面向对象系统的设计何实现中,创建对象是最为常见的操作.这里面就有一个问题 ...

  5. 解决unity3d发布的网页游戏放到服务器上无法使用的问题

    http://www.unity蛮牛.com/blog-2429-1226.html 第一次把unity3d发布的网页游戏放到服务器上(Win2003),发现无法使用.可以尝试以下办法.       ...

  6. PHP 开发中的外围资源性能分析(二)

    暂且不讨论「PHP 是不是最好的编程语言」,本文我们将分别分析一下在 PHP 程序的后端外围资源和前端外围资源,它们对整个 PHP Web 应用体验的影响,这往往比语言本身大得多. 上一篇中我们分析了 ...

  7. [转载]Spring Autowire自动装配介绍

    转自: http://www.cnblogs.com/zhishan/p/3190757.html 在应用中,我们常常使用<ref>标签为JavaBean注入它依赖的对象.但是对于一个大型 ...

  8. 拼写sql语句随笔

    DECLARE @str NVARCHAR(1000)='SELECT * FROM dbo.V_MicroUserInfo ',@where VARCHAR(1000)=' where 1=1' D ...

  9. Error: The VPN client agent was unable to create the interprocess communication depot.

    当安装Cisco AnyConnect VPN Client出现The VPN client agent was unable to create the interprocess communica ...

  10. 【mongoDB中级篇②】索引与expain

    索引的操作 数据库百分之八十的工作基本上都是查询,而索引能帮我们更快的查询到想要的数据.但是其降低了数据的写入速度,所以要权衡常用的查询字段,不必在太多字段上建立索引. 在mongoDB中默认是用bt ...