Home > Backend Development > PHP Tutorial > laravel执行php artisan migrate报错怎么办

laravel执行php artisan migrate报错怎么办

PHPz
Release: 2020-09-04 16:50:30
Original
5090 people have browsed it

laravel执行php artisan migrate报错是因为没有开启扩展“php_pdo_mysql.dll”,其解决办法就是打开“php.ini”文件并开启“php_pdo_mysql.dll”扩展即可。

laravel执行php artisan migrate报错怎么办

laravel执行php artisan migrate报错怎么办?

报错一

$ php artisan migrate
   Illuminate\Database\QueryException  : could not find driver (SQL: select * fr
om information_schema.tables where table_schema = dev_oms and table_name = migra
tions)
  at D:\WWW\dev_oms\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 th
is exception a
    662|         // lot more helpful to the developer instead of just the databa
se'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")
      D:\WWW\dev_oms\vendor\laravel\framework\src\Illuminate\Database\Connectors
\Connector.php:68

  2   PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=dev_oms", "root",
"root", [])
      D:\WWW\dev_oms\vendor\laravel\framework\src\Illuminate\Database\Connectors
\Connector.php:68

  Please use the argument -v to see more details.
Copy after login

原因是php.ini 扩展"php_pdo_mysql.dll"没开启

企业微信截图_15920150453453.png

报错二

$ php artisan migrate
Migration table created successfully.
   Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access
 violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: a
lter table `users` add unique `users_email_unique`(`email`))
  at D:\WWW\dev_oms\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 th
is exception a
    662|         // lot more helpful to the developer instead of just the databa
se's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|
  Exception trace:
  1   PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Sp
ecified key was too long; max key length is 767 bytes")
      D:\WWW\dev_oms\vendor\laravel\framework\src\Illuminate\Database\Connection
.php:458
  2   PDOStatement::execute()
      D:\WWW\dev_oms\vendor\laravel\framework\src\Illuminate\Database\Connection
.php:458
  Please use the argument -v to see more details.
Copy after login
Copy after login

数据库编码改为utf8mb4

企业微信截图_15920150521830.png

报错三

$ php artisan migrate
Migration table created successfully.
   Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access
 violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: a
lter table `users` add unique `users_email_unique`(`email`))
  at D:\WWW\dev_oms\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 th
is exception a
    662|         // lot more helpful to the developer instead of just the databa
se's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|
  Exception trace:
  1   PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Sp
ecified key was too long; max key length is 767 bytes")
      D:\WWW\dev_oms\vendor\laravel\framework\src\Illuminate\Database\Connection
.php:458
  2   PDOStatement::execute()
      D:\WWW\dev_oms\vendor\laravel\framework\src\Illuminate\Database\Connection
.php:458
  Please use the argument -v to see more details.
Copy after login
Copy after login

加上两行代码即可

企业微信截图_15920150591799.png

推荐:《laravel开发

Related labels:
php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template