【问题标题】:could not find driver error when using php artisan migrate使用 php artisan migrate 时找不到驱动程序错误
【发布时间】:2018-10-29 19:59:29
【问题描述】:

我开始了一个新的博客项目来尝试 Laravel。我按照 https://laracasts.com/series/laravel-from-scratch-2017/episodes/1?autoplay=true 的教程进行操作。我更改了 .env 文件

DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret

DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=

然后输入

php artisan migrate

得到一个错误

   Illuminate\Database\QueryException  : could not find driver (SQL: select * from information_schema.tables where table_schema = blog and table_name = migrations)

  at /home/morilon/php_proj/blog/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   PDOException::("could not find driver")
      /home/morilon/php_proj/blog/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68

  2   PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=blog", "root", "", [])
      /home/morilon/php_proj/blog/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68

  Please use the argument -v to see more details.

这是什么意思could not find driver (SQL: select * from information_schema.tables where table_schema = blog and table_name = migrations) ? 安装 PHP 后,我使用该命令重新安装了 MySQL:

pkg --get-selections | grep mysql
sudo apt-get remove --purge [everything that came up]
sudo apt-get autoremove && sudo apt-get autoclean
sudo apt-get install mysql-server

--更新--

之后

sudo apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

错误变化

Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = blog and table_name = migrations)

【问题讨论】:

标签: php laravel-5


【解决方案1】:

您还需要安装 PHP-MySQL 驱动程序:

sudo apt install php-mysql

【讨论】:

  • 好的,我用 'sudo apt install php-mysql' 安装了 PHP-MySQL 驱动程序。
  • 但是有同样的错误。还有什么可能?
【解决方案2】:

我在使用 SQLite 数据库时遇到了同样的问题。

我必须安装 php-sqlite3 才能工作。

sudo apt-get install php-sqlite3

然后执行你的迁移命令

php artisan migrate

希望这对使用 sqlite 的人有所帮助。

【讨论】:

    【解决方案3】:

    最后一个错误是因为我没有在文件config/database.php and .env.中输入MySQL用户的密码

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 2023-03-27
      • 2016-01-13
      • 2016-07-30
      • 2014-04-23
      • 2018-08-15
      • 1970-01-01
      • 2016-11-27
      • 2017-08-02
      相关资源
      最近更新 更多