我有以下錯誤 -
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。繁榮。