Laravel 8 Windows 和 Xampp 未找到 PDO

Laravel 8 on Windows and Xampp PDO not found

我在 Windows 10 上安装了 Xampp 并启动了 apached。我的项目是在 Laravel 8 完成的。我想在控制器中使用 PDO

$pdo = DB::connection('mysqlPDO')->getPdo();

$stmt = $pdo->prepare("SELECT * FROM `form_data` WHERE `id`=:id LIMIT 1");
$stmt->bindValue(':id', 1, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll();
$stmt->closeCursor();
unset($stmt);

当我 运行 以上代码时,我得到错误:

 Class 'App\Console\Commands\PDO' not found

  at C:\xampp\htdocs\crm-api\app\Console\Commands\Import.php:58
     54▕
     55▕         $pdo = DB::connection('mysqlPDO')->getPdo();

Xampp 在 php.ini 我有分机:

;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite

例如,当我取消注释 pdo_oci 时,出现错误: Xampp start error


我将 php_pdo.dll 下载到 xampp/php/ext 文件夹并将 extension=pdo 添加到 php.ini 但仍然有相同的错误

首先,如果你不使用多数据库连接,你应该使用(你可以了解更多here

$pdo = DB::connection()->getPdo();

其次,检查.env文件中的数据库信息,你能运行迁移吗?

之后,如果您无法启用任何扩展,您应该检查 XAMPP 的目录,然后是 php/ext 文件夹,看看是否有您的扩展的 .dll 文件,如果没有,您应该手动安装它们。

P.S.: 另外请检查您是否取消注释以下扩展并重新启动 apache 服务器。

extension=pdo