我有以下错误 -
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 中没有注释
任何帮助将不胜感激
我不完全确定这是否是解决此问题的正确方法,但它有效,所以我猜是这样?
事实证明,MAMP 文档中列出的位置不是我要查找的位置
C:\MAMP\conf\phpX.XX
- 实际上是C:\MAMP\bin\php\phpX.X.X
。我意识到这一点后遇到的问题是这里没有 php.ini 文件,这就是我认为它是其他位置的原因。然后,我从C:\MAMP\conf\phpX.XX
位置复制 .ini,然后重新启动 MAMP。繁荣。