php連接oracle數據庫


1.先安裝一下oracle instant,把oci.dll所在的目錄加入PATH環境變量里
或者直接安裝oracle express
php_pdo_oci 依賴於oracle 的oci.dll
2.開啟php_pdo_oci

查看phpinfo();,如果沒有出現下面的oci表明安裝失敗

3.配置oracle,創建一個用戶表測試如:

4.測試

$tns = "  
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
    )
  )
       ";
$db_username = "guest";
$db_password = "guest";
try{
    $conn = new \PDO("oci:dbname=".$tns,$db_username,$db_password);

    $sth = $conn->prepare('SELECT * from "user" ');
    $sth->execute();

    $result = $sth->fetchAll(\PDO::FETCH_ASSOC);
    var_dump($result);
}catch(PDOException $e){
    echo ($e->getMessage());
}

由於我安裝的是oracle express 所以SERVICE_NAME 是XE ,如果是完整版的則是ORCL.

5.PHP_PDO_OCI和PHP_OCI8的區別

從stackoverflow上查到,PHP_PDO_OCI是php官方開發的而且開源,PHP_OCI8則是oracle開發的。
PDO是php的數據庫操作抽象層,而PHP_PDO_xxx是對應具體數據庫的驅動。

6.如果是Linux可以用ldd 查看PHP_PDO_OCI是依賴哪個版本號的oci,可以安裝對應版本號的instant client。
並把instant client中oci對應的路徑加到 LD_LIBRARY_PATH中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM