php訪問資料庫PDO

來源:互聯網
上載者:User

標籤:

一、問題 

公司有一台老的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 driverssqlite, sqlite2, mysql

php訪問資料庫PDO

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.