zoukankan      html  css  js  c++  java
  • 为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

  • 相关阅读:
    Go module学习笔记
    java并发基础及原理
    java并发之内存模型
    https理论及实践
    Mysql查询结果导出Excel表
    mysql清空表数据并重置自增ID
    html a标签链接点击闪动问题解决
    rocketmq-console控制台管理界面配置
    nginx多层反代配置变量proxy_set_header
    nginx 实现浏览器文件下载服务
  • 原文地址:https://www.cnblogs.com/whendream/p/php-pdo-mysql-driver.html
Copyright © 2011-2022 走看看