【问题标题】:PHP artisan migrate exceptionPHP工匠迁移异常
【发布时间】:2023-03-10 16:30:02
【问题描述】:

我是 php laravel 的新手,遇到了一个我无法解决的问题。请建议我。当我运行“php artisan migrate”时,我得到一个 QueryException 说:

找不到驱动程序(SQL:PRAGMA foreign_keys = ON;)

我尝试将extension=php_pdo_mysql.so 添加到我的 php.ini 中,因为它不存在但它不起作用

这是我收到的错误消息: QueryException

非常感谢

【问题讨论】:

  • 你在config/database.php中配置好你的数据库了吗?
  • 我没有更改文件database.php,我保持原样。
  • 看起来它正在尝试连接到 SQLite 数据库。 config/database.php 中的默认连接字符串是什么?
  • 它是mysql=> 'default' => env('DB_CONNECTION', 'mysql'),我尝试将其更改为sqlite,但没有成功。

标签: php laravel laravel-artisan migrate


【解决方案1】:
  1. 确保您已安装 php7.0-mysql。
  2. 取消注释扩展=php_pdo_mysql.so;
  3. 确保您已正确配置数据库环境变量以连接到您的 mysql 数据库。在你的 .env 文件中有这样的东西。

    DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database_name DB_USERNAME=database_username DB_PASSWORD=database_password

【讨论】:

  • 感谢您的回复,我做了您提到的 3 处更改,但我仍然有同样的错误。我要检查其他内容吗?
  • 你能告诉我你在 .env 文件中的数据库环境变量吗?另外,您可以从 config/database.php 添加您的 mysql 详细信息吗?
  • 这些是 .env 中的数据库环境变量: >DB_CONNECTION=mysql >DB_HOST=127.0.0.1 >DB_PORT=3306 >DB_DATABASE=database_name >DB_USERNAME=database_username >DB_PASSWORD=database_password
  • 并且 config/database.php 已经包含 mysql 为: 'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' = > env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), '数据库' => env('DB_DATABASE', 'forge'), '用户名' = > env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), ]) : [], ],
  • 当我运行您提到的命令时,我收到此错误:错误 1045 (28000): Access denied for user 'database_username'@'localhost' (using password: YES)
猜你喜欢
  • 2018-12-02
  • 1970-01-01
  • 2017-06-20
  • 2016-06-16
  • 2020-01-22
  • 2020-04-01
  • 1970-01-01
  • 2017-11-29
  • 2020-08-20
相关资源
最近更新 更多