Rumah > Soal Jawab > teks badan
Saya mempunyai ralat berikut -
Fatal error: Uncaught PDOException: could not find driver
Apabila cuba menyambung melalui 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');
Saya telah mengalami banyak contoh masalah yang sama, semuanya diselesaikan dengan menyahkomen "extension=php_pdo_mysql.dll" dalam php.ini, tetapi ia tidak memberi sebarang perbezaan kepada saya.
Saya menggunakan Windows 10, MAMP dan PHP 8.0.1
phpinfo() menunjukkan tiada pemandu di bawah PDO
Walaupun tiada komen dalam php.ini
Sebarang bantuan amatlah dihargai
P粉7953113212024-03-28 12:09:11
Saya tidak pasti sama ada ini cara yang betul untuk menyelesaikan masalah ini, tetapi ia berkesan, jadi saya rasa begitu?
Ternyata lokasi yang disenaraikan dalam dokumentasi MAMP bukanlah lokasi yang saya cari C:MAMPconfphpX.XX
- 实际上是 C:MAMPbinphpphpX.X.X
。我意识到这一点后遇到的问题是这里没有 php.ini 文件,这就是我认为它是其他位置的原因。然后,我从 C:MAMPconfphpX.XX
Salin .ini ke lokasi dan mulakan semula MAMP. Kemakmuran.