首页  >  问答  >  正文

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 天前400

全部回复(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
  • 取消回复