首頁 >後端開發 >php教程 >為PHP增加PDO-Mysql驅動

為PHP增加PDO-Mysql驅動

WBOY
WBOY原創
2016-08-08 09:31:281315瀏覽

一、問題 

公司有一台老的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驅動,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn