首頁  >  問答  >  主體

Windows MAMP PHP遇到致命錯誤:未捕獲的PDOException:找不到驅動程式。 PHP.ini檔案已正確取消註解部分

我有以下錯誤 -

Fatal error: Uncaught PDOException: could not find driver

嘗試透過 PDO 連線時。

<?php


$host = '127.0.0.1';
$db   = 'mytodo';
$user = 'root';
$pass = 'root';
$charset = 'utf8mb4';

$options = [
    \PDO::ATTR_ERRMODE            => \PDO::ERRMODE_EXCEPTION,
    \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
    \PDO::ATTR_EMULATE_PREPARES   => false,
];

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
try {
     $pdo = new \PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
     throw new \PDOException($e->getMessage(), (int)$e->getCode());
}

require ('index.view.php');

我經歷過無數次相同問題的實例,所有問題都透過取消註解 php.ini 中的「extension=php_pdo_mysql.dll」來解決,但這對我來說沒有任何區別。

我使用的是 Windows 10、MAMP 和 PHP 8.0.1

phpinfo() 在 PDO 下顯示沒有驅動程式

儘管在 php.ini 中沒有註解

任何幫助將不勝感激

P粉274161593P粉274161593205 天前395

全部回覆(1)我來回復

  • P粉795311321

    P粉7953113212024-03-28 12:09:11

    我不完全確定這是否是解決此問題的正確方法,但它有效,所以我猜是這樣?

    事實證明,MAMP 文件中列出的位置不是我要找的位置C:\MAMP\conf\phpX.XX - 實際上是C:\MAMP\bin\php \phpX.X.X 。我意識到這一點後遇到的問題是這裡沒有 php.ini 文件,這就是我認為它是其他位置的原因。然後,我從 C:\MAMP\conf\phpX.XX 位置複製 .ini,然後重新啟動 MAMP。繁榮。

    回覆
    0
  • 取消回覆