[已解決]驅動程式出現異常:找不到驅動程式
執行 Symphony 應用程式時,使用者經常會收到驅動程式中發生異常:找不到驅動程式錯誤,後面跟著配置的驅動程式路徑。當應用程式使用 MySQL 資料庫時就會出現這種情況。
當未安裝 MySQL、檔案名稱不正確、關鍵檔案遺失或儲存在錯誤的目錄中、或未安裝或啟動所需的擴充功能時,通常會出現該錯誤。
如何修復驅動程式中發生異常錯誤?
在我們開始使用稍微複雜的解決方案之前,請先嘗試以下快速解決方案:
- 確保您已儲存。 env.local 檔案名稱前帶有句點 (.),並且它儲存在 app/ 目錄中。 app/.env 和 app/.env.local 需要存放在同一目錄下。
- 在 PHP 容器而不是 PC 的預設終端中執行命令。
- 確保 php.ini 是這樣命名的,而不是編輯後的 php.ini-prod。
1.安裝MySQL及其驅動
透過在終端機中執行以下命令來安裝 MySQL:sudo apt install php-mysql
對於運行 Linux 的用戶,請使用以下命令安裝缺少的擴充功能:sudo apt-get install php-mysql php-pdo
如果您使用 Docker,請使用以下命令安裝 MySQL 驅動程式:RUN docker-php-ext-install pdo pdo_mysql
2. 啟動擴展
在 php.ini 檔案中,將 xampp 安裝擴充的路徑加入 extension_dir 旁邊。例如,它可以是:C:\xampp\php\ext
現在,啟動以下擴充功能:
- 副檔名=bz2
- 副檔名=捲曲
- 擴展名=檔案訊息
- 擴展名=gd2
- 擴展名=gettext
- 副檔名=mbstring
- 副檔名=exif
- 副檔名=mysqli
- 擴展名=pdo_mysql
- 擴展名=pdo_sqlite
3.新增絕對路徑
使用以下命令將絕對路徑(在您的情況下可能不同)新增至extensions_dir:extension_dir = "c:\php5\ext"
完成後,重新啟動 Web 伺服器並檢查是否有改進。
4. 將 127.0.0.1 替換為 Localhost
如果您收到「驅動程式中發生異常:執行時找不到驅動程式」錯誤:php bin/console doctrine:database:create
或 symfony console doctrine:database:create
將 DATABASE_URL 中的 127.0.0.1 替換為 localhost。最終變成:DATABASE_URL="mysql://db_user:db_password@localhost:3306/db_name?serverVersion=5.7&charset=utf8mb4"
此解決方案已被許多使用者證實有效。即使 [email protected] 和 root@localhost 都儲存在 MySQL 使用者表中,您也應該嘗試此操作。
5. 重新安裝 PHP 的 PostgreSQL 並刪除未使用的 PHP 版本
- 從計算機中刪除 Symphony。檢查 ~/.symfony 目錄或可能儲存它的任何其他位置。
- 現在,執行以下命令來刪除 PHP 的 PostgreSQL:
sudo apt-get --purge remove php-pgsql
- 使用此命令刪除未使用的 PHP 版本(該版本可能會因您的情況而異):
sudo apt-get purge 'php5.6'
- 使用此命令安裝 PHP 的 PostgreSQL:
sudo apt-get install php-pgsql
- 最後,從官方網站下載適合您作業系統的 Symphony 並檢查是否有改進。
這些解決方案之一應該有助於修復驅動程式中發生異常:找不到驅動程式錯誤。請記住,錯誤可能是由輕微的配置錯誤到嚴重的損壞引起的,您必須適當地解決它。
如有任何疑問或分享對您有用的方法,請在下面發表評論。
發佈留言