我試圖通過PDO連接到的Oracle 11g Express Edition的數據庫在PHP。我安裝了xampp,我也有一個(可能是)工作的pdo_oci擴展,它也在phpinfo()中顯示。我的數據庫工作,我可以通過一個SQL控制檯和/或SQL開發人員連接到它。 我已經啓用了擴展php_pdo_oci.dll腓嘗試通過PDO連接到Oracle 11g - 未知錯誤
我的代碼是:
$db_username = "system";
$db_password = "mypass";
$db = "oci:dbname=xe";
$conn = new PDO($db,$db_username,$db_password);
我得到以下錯誤:
致命錯誤:未捕獲的異常 'PDOException' 有消息「SQLSTATE []: pdo_oci_handle_factory:<>(ext \ pdo_oci \ oci_driver.c:579)'in ...
所以這真的沒有告訴任何事情。
如果我嘗試通過oci_connect與此代碼連接並啓用擴展php_oci8_11g.dll(和禁用PDO擴展),則:
$conn = oci_connect('system', 'mypass', 'localhost/XE');
我得到這個錯誤:
警告:oci_connect ()[function.oci-connect]:OCIEnvNlsCreate()失敗。也有一些是錯誤的與您的系統 - 請檢查路徑包括在... Oracle即時客戶端庫的目錄
那麼,什麼是Oracle即時客戶端?我只下載了Oracle Express Edition,並添加了ORACLE_HOME和LD_LIBRARY_PATH作爲環境變量,並且還添加了PATH路徑。我錯過了什麼?
預先感謝您
不'的phpinfo()'顯示擴展加載? – Rob 2013-03-05 23:13:00
嗨!是的,我有這個:「啓用OCI 8的PDO驅動程序和更高版本的\t」 – user2001951 2013-03-05 23:33:41