我下載並安裝了隨Stackbuilder附帶的PostgreSQL 9.2.3。PDO異常「找不到驅動程序」(pgsql)
我使用PostgreSQL Stackbuilder安裝Apache(2.2.22)& PHP(5.4.5)。
現在我試圖用PDO連接到數據庫,但我得到driver not found
錯誤。
我在我的php.ini文件中未評論extension=php_pgsql.dll
& extension=php_pdo_pgsql.dll
。
我的phpinfo();函數顯示它們已啓用。
我注意到最主要的是,我的PHP \目錄中沒有分機\目錄中的這些文件。我假定這些文件已經被自動安裝到一個php \子目錄中。
這些擴展名可以存儲在哪裏;我需要指定一個絕對路徑的PHP來找到它們嗎?
更新: 所以我去了php.ini,並打開啓動錯誤。當我啓動命令行php.exe時,出現錯誤提示找不到php_pgsql.dll & php_pdo_pgsql.dll。
看起來他們試圖在D:驅動器上引用它們,但我沒有。我將所有內容安裝到E:驅動器上的同一目錄中。我無法在任何地方找到擴展名(也無法使用php)。
你的連接字符串是什麼樣的? – dlp 2013-03-27 19:18:56
我已經在配置文件中定義了常量。如果我回顯它看起來像這樣:'「pgsql:host = localhost; port = 5432; user = postgres; password = postgres; dbname = Test」' – Roy 2013-03-27 19:33:17
這看起來像是從構建服務器,而不是一個將永遠安裝在您的本地系統上。奇怪的。你係統上的php_pdo_pgsql.dll在哪裏?它是否或它在'php.ini'中列出的文件夾在任何地方?或者在PATH上? – 2013-03-28 00:39:53