【问题标题】:Illuminate\Database\QueryException : could not find driver ErrorIlluminate\Database\QueryException:找不到驱动程序错误
【发布时间】:2019-01-03 06:16:55
【问题描述】:

尝试执行命令时出现错误

php artisan migrate

在我的 Windows 命令提示符下,我已经通过取消注释尝试了许多来自互联网的解决方案

extension=pdo_mysql 

在我在 Xampp 上的 php.ini 配置中,但它仍然无法正常工作,是否有任何可行的解决方案来解决此问题?

错误

【问题讨论】:

  • 您好,请问最后您为这个问题做了什么?

标签: php laravel artisan-migrate


【解决方案1】:

你可以使用 首先使用 php --version 查看php版本并安装对应的驱动。

sudo apt-get install php7-mysql

或者

sudo apt-get install php5-mysql

sudo apt-get install php-mysql

【讨论】:

  • @MiyukiOuka 您使用的是哪个 PHP 版本?
  • @MiyukiOuka 发生这种情况的原因有很多。要么未设置默认数据库类型(config/database.php),要么未启用扩展,或者您已启用扩展但尚未重新启动 XAMPP,或者环境设置下的 PATH 设置未正确定义。我建议您查看这个可能解决问题的答案:stackoverflow.com/a/25336292/2745485
  • 我使用的是 php 版本 7.3.0
【解决方案2】:

转到项目的“config”文件夹并打开 database.php

并用此代码替换

   'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => 'InnoDB',
    ],

【讨论】:

  • 还是一样
  • 请将您的 php 版本更改为 7.2 并重新启动您的服务器
  • 我已经用 php 7.2 版安装了 Xampp 但它不起作用
  • 如果你做了我的建议是重新安装 laravel 并在 database.php 中进行更改并尝试 php artisan migrate,你是否在 database.php 中进行了更改,我认为这会起作用
  • 不,我没有,我只是在 MySQL 中新建数据库,然后运行 ​​php artisan make:controller CreatesContoller 和 php artisan make:model Article -m 创建控制器和迁移
【解决方案3】:

您可能需要取消评论extension=php_pdo_mysql.dll

取消注释后不要忘记重新启动xampp。

【讨论】:

    【解决方案4】:

    好的,我想我刚刚意识到一些事情,我从我的 cmd 运行 php 命令,在我删除 C: 上的 php 目录后,php 命令消失了,所以我假设我必须从 Xampp shell 运行命令才能在 Xampp 服务中给 php 一个命令,这样就可以了,谢谢

    【讨论】:

      【解决方案5】:

      运行以下命令:

      composer require doctrine/dbal
      composer update
      

      看起来您缺少依赖项,它在您的图像上显示错误。

      Windows 用户、PDO 和所有主要驱动程序都将 PHP 作为共享扩展提供,只需编辑 php.ini 文件即可激活:

      extension=php_pdo.dll
      

      注意:PHP 5.3 及更高版本不需要此步骤,因为 PDO 不再需要 DLL。

      【讨论】:

      • @MiyukiOuka 尝试后发生了什么?
      • 还是一样
      • @MiyukiOuka 用于测试目的:创建一个新数据库并在运行php artisan migrate 命令执行后设置在.env 文件中,试试它也许对你有帮助
      • 好的,当你得到解决方案时,请发布作为答案:)
      • 好吧,我想我刚刚意识到一些事情,我从我的 cmd 运行 php 命令,在我删除 C: 上的 php 目录后,php 命令消失了,所以我假设我必须从Xampp shell 以便在 Xampp 服务中向 php 发出命令
      猜你喜欢
      • 1970-01-01
      • 2020-12-26
      • 2019-12-24
      • 2022-06-15
      • 2021-12-04
      • 2021-06-10
      • 2020-10-18
      • 2017-09-28
      • 1970-01-01
      相关资源
      最近更新 更多