Laravel: 錯誤 [PDOException]: 在 PostgreSQL 中找不到驅動程式
P粉722409996
P粉722409996 2023-07-31 18:16:43
0
2
671
<p>Translate: "我正在嘗試透過Laravel連接到PostgreSQL資料庫,以便執行php artisan migrate命令,但似乎沒有成功,因為它正在讀取MySQL的資料庫名稱。<br /><br /> ;以下是database.php中的指令:</p><p><br /></p> <pre class="brush:php;toolbar:false;">'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collat​​ion' => 'utf8_unicode_ci', 'prefix' => '', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', 'database' => 'postgres', 'username' => 'postgres', 'password' => 'root', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ), 'sqlsrv' => array( 'driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'prefix' => '', ), ),</pre> <p>如果我刪除MySQL的路徑,我會得到:</p> <pre class="brush:php;toolbar:false;">[InvalidArgumentException] Database [mysql] not configured.</pre> <p><br /></p><hr /> <strong>Translate: "編輯:當嘗試執行php artisan migrate 命令時,我遇到了'PDOException: could not find driver' 錯誤。我正在使用WAMP 並且在Windows 8.1 上。資料庫使用的是PostgreSQL。"< /strong><p><br /></p> <p><br /></p><hr /> <strong>EDIT:</strong> Translate: "我已經嘗試了一系列的替代解決方案,但問題仍未解決。已經檢查了Apache、WAMP(來自php 資料夾)和PostgreSQL 中的php.ini檔案。extension_dir 設定正確,如下圖 -> extension_dir = "c:/wamp/bin/php/php5.5.12/ext/"。extension=pdo_pgsql.dll 與extension=pgsql.dll 已取消註解。< br /><br />已經在'系統變數' 中進行了PATH 的設置,並重新啟動了電腦。但仍然沒有成功。<br /><br />感謝迄今為止的幫助。 <br /><br />這是我的驅動程式php_pdo_driver.h 和php_pdo.h 位於C:Program Files (x86)PostgreSQLEnterpriseDB-ApachePHPphpSDKincludeextpdo<br />取得的資訊:<br /><p><br /></p> <blockquote> <p>Translate: "PHP 版本5.5.12<br /><br />編譯器MSVC11 (Visual C 2012) 設定指令cscript /nologo configure.js "--enable-snapshot-build" "- -disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:php- sdkoraclex64instantclient10sdk,shared" "--with-oci8=C:php-sdkoraclex64instantclient10sdk,shared" "--with-oci8-11g=C:php-sdkoraclex64instantclient11k,shared" "--object-sdkoraclex642ntclient11k,shared" "--object-outout-dirject obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--disable-static-analyze" "--with-pgo""</p><p>< ;br /></p> </blockquote><p><br /></p>
P粉722409996
P粉722409996

全部回覆(2)
P粉043295337

"對於 PDOException: could not find driver for MySQL 錯誤,如果是基於 Debian 的作業系統

sudo apt-get -y install php5-mysql
P粉037450467

Translate: "Be sure to configure the 'default' key in app/config/database.php.

對於PostgreSQL,設定應該是'default' => 'postgres'。

#如果您收到[PDOException] could not find driver 錯誤,請檢查您是否安裝了正確的PHP擴充功能。您需要安裝並啟用pdo_pgsql.so 和pgsql.so。如何安裝這些​​擴充功能因作業系統而異。

對於Windows,pgsql擴充應該已經隨官方PHP發行版預先下載。只需編輯您的php.ini文件,並取消註解以下行extension=pdo_pgsql.so 和extension=pgsql.so。

此外,在php.ini中,確保extension_dir 設定為正確的目錄。它應該是您的PHP安裝目錄中名為extensions或ext或類似的資料夾。

最後,將libpq. dll 從C:\wamp\bin\php\php5.*\ 複製到C:\wamp\bin\apache*\bin,並透過WampServer介面重新啟動所有服務。

如果仍然出現異常,您可能需要將PostgreSQL的\bin 目錄加入到您的PATH環境變數。"

  1. System Properties -> Advanced tab -> Environment Variables
  2. 在視窗的下半部的 '系統變數' 群組中,捲動尋找並找到 PATH 條目。
  3. 選擇它並點擊編輯。
  4. 在現有條目的末尾,輸入您的 postgres bin 目錄的完整路徑。 bin 資料夾應該位於您的 postgres 安裝目錄的根目錄中。
  5. 重新啟動任何開啟的命令提示符,或為了確保,請重新啟動您的電腦。

這樣應該可以解決任何問題。更多資訊請參見:

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!