PHP工匠迁移异常
Posted
技术标签:
【中文标题】PHP工匠迁移异常【英文标题】:PHP artisan migrate exception 【发布时间】:2019-11-16 11:45:24 【问题描述】:我是 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,但没有成功。 【参考方案1】:-
确保您已安装 php7.0-mysql。
取消注释扩展=php_pdo_mysql.so;
确保您已正确配置数据库环境变量以连接到您的 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)以上是关于PHP工匠迁移异常的主要内容,如果未能解决你的问题,请参考以下文章