程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中PDO_MYSQL擴展安裝的2種方法

PHP中PDO_MYSQL擴展安裝的2種方法

編輯:關於PHP編程

       方法一

      看到CakePHP文檔要求安裝pdo_mysql擴展,於是就嘗試安裝了一下。

      這裡我的系統是CentOS 6.0。如果你的系統是其他版本的Linux/Unix,可以參考。如果你的系統是Windows的,抱歉,以下內容不適合你,請移步。

      首先是下載pdo_mysql擴展的源碼包。下載頁面在這裡:http://pecl.php.net/package/PDO_MYSQL。可以先下載了然後用FTP傳到服務器。

      我是在復制了下載地址以後使用wget直接下載到服務器端的。

      # wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

      然後是解壓縮。

      # tar -zxvf PDO_MYSQL-1.0.2.tgz

      進入解壓後的目錄,然後執行phpize。

      # /usr/local/php/bin/phpize

      Configuring for:

      PHP Api Version: 20100412

      Zend Module Api No: 20100525

      Zend Extension Api No: 220100525

      下面生成makefile。後面的兩個參數必須要添加,一開始我沒有添加,結果分別都提示找不到php-config和mysql的header文件。

      # ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql

      在make之前還要做一個mysql的header文件的軟連接。因為mysql安裝的時候指定了目錄,不做軟連接的話,還是找不到header文件。

      # ln -s /usr/local/mysql/include/* /usr/local/include/

      然後make和make install。

      # make

      # make install

      之後會提示如下,意思是擴展被安裝到了如下目錄裡。

      Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

      為了方便,我把pdo_mysql.so文件移動到extensions目錄下。

      # mv /usr/local/php/lib/php/extensions/no-debug-zts-20100525/pdo_mysql.so /usr/local/php/lib/php/extensions/

      隨後就可以修改php.ini文件了。

      找到; extension_dir = “./”這一行,去掉注釋,並修改路徑。

      extension_dir = “/usr/local/php/lib/php/extensions/”

      這裡經過我測試,發現php只會從該目錄尋找擴展so,而並不尋找該目錄下的子目錄。所以之前我為了統一管理,把so文件都移動到該目錄下。

      找到; extension=php_pdo_mysql.dll這一行,去掉注釋,並修改後面的文件名。

      extension=pdo_mysql.so

      文件名不太一樣,這裡要把php_前綴去掉,否則找不到文件。後面的dll是windows下的文件名,我們改成so。

      最後重啟apache就可以了。用phpinfo()查看發現已經生效了。

      方法二

      PDO_MYSQL以下操作都在Linux 系統下操作

      1、下載 文件 或者 進入 在PHP源碼包中進入ext/pdo_mysql

      http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

      2、解壓文件

      tar zxvf PDO_MYSQL-1.0.2.tgz

      3、配置和編譯文件

      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

      注: 我的PHP安裝在 : /usr/local/php/ mysql 安裝在 : /usr/local/mysql 編譯的時候注意你自己的安裝目錄在哪裡

      3、安裝到PHP配置下

      把這個記住,然後打開 php.ini文件,

      並添加一行

      extension=pdo_mysql.so

      windows PDO MYSQL擴展安裝

      php.ini中沒有開啟pdo,故修改php.ini,將形如下面的代碼前面去掉分號,修改後如下:

      extension_dir="E:/amp/php/ext" //這裡配置為你自己的ext目錄路徑

      ......

      extension=php_mysql.dll

      ......

      extension=php_pdo.dll

      ......

      extension=php_pdo_mysql.dll

      重啟apache後訪問又繼續報以下錯誤:

      CDbConnection 無法開啟數據庫連線: could not find driver

      意思是無法找到數據庫驅動,我又用phpinfo看了一下,PDO確實是開啟了,但是PDO那一項中支持的數據庫顯示no value,說明無法加載php_pdo_mysql.dll這個擴展。經過多次嘗試,包括更換php的版本,更換mysql的版本。但是均不奏效。難道真的無法開啟php的mysql pdo擴展了嗎?

      在網上查了又查,終於找到解決方案

      方法一:需要把php安裝目錄的路徑加入到系統環境變量PATH中,這樣就可以解決問題。

      方法二:因為我是在服務器上部署的,正在運行著的服務器,所以無法重啟,故也可將php安裝目錄下的libmysql.dll復制到windows目錄下

      重啟apache

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