程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 為PHP增加PDO-Mysql驅動,php增加pdo-mysql

為PHP增加PDO-Mysql驅動,php增加pdo-mysql

編輯:關於PHP編程

為PHP增加PDO-Mysql驅動,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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved