为了账号安全,请及时绑定邮箱和手机立即绑定

在 Laravel 迁移中无法修复 PDOException::(“找不到驱动程序”)

在 Laravel 迁移中无法修复 PDOException::(“找不到驱动程序”)

PHP
DIEA 2022-07-16 10:53:30
以下是我为尝试解决此问题所做的工作清单:我在 Windows 7 上并使用 MAMP。我的 PHP 版本是 7.3.7。我得到的完整错误是:Illuminate\Database\QueryException  : could not find driver (SQL: select * from information_schema.tables where table_schema = lol and table_name = migrations and table_type = 'BASE TABLE')  at C:\MAMP\htdocs\League Of Legends Backend\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664    660|         // If an exception occurs when attempting to run a query, we'll format the error    661|         // message to include the bindings with SQL, which will make this exception a    662|         // lot more helpful to the developer instead of just the database's errors.    663|         catch (Exception $e) {  > 664|             throw new QueryException(    665|                 $query, $this->prepareBindings($bindings), $e    666|             );    667|         }    668|  Exception trace:  1   Doctrine\DBAL\Driver\PDOException::("could not find driver")      C:\MAMP\htdocs\League Of Legends Backend\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31  2   PDOException::("could not find driver")      C:\MAMP\htdocs\League Of Legends Backend\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:27  Please use the argument -v to see more details.在服务器提供的页面之一上使用phpinfo(),以确定 PHP 版本和php.ini文件位置。我的 PHP 版本是 7.3.7,我的php.ini文件位于C:\MAMP\conf\php7.3.7\php.ini. 这 3 行在该文件中未注释:extension=php_mysql.dllextension=php_mysqli.dllextension=php_pdo_mysql.dll在服务器提供的页面之一上使用 get_loaded_extensions 以查看所有加载的扩展。
查看完整描述

4 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

您需要为 php 安装驱动程序 mysql。ubuntu 的例子sudo apt install php-mysql



查看完整回答
反对 回复 2022-07-16
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您可以尝试在公共文件夹下添加一个名为 php.php 的文件,其中包含内容

<?php phpinfo ?>

并通过 Web URL 而不是命令行访问它,并确保启用了 mysql pdo 扩展


查看完整回答
反对 回复 2022-07-16
?
波斯汪

TA贡献1811条经验 获得超4个赞

这意味着对于命令行,可能php.ini使用了您更新的其他命令。这就是为什么在运行站点时一切正常,而从控制台运行 PHP 时却没有。

你应该跑

php --ini

在命令行中查看使用了哪些配置文件,并确保您已在其中启用 MySQL。


查看完整回答
反对 回复 2022-07-16
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您需要检查是否有 mysql pdo 扩展,还需要检查系统上运行的 DATABASE_TABLE 是否存在,否则您必须安装它。当您尝试使用不在您机器上的数据库时会显示该错误。



查看完整回答
反对 回复 2022-07-16
  • 4 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信