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

laravel执行php artisan migrate报错怎么办

PHPz
PHPzOriginal
2016-06-06 20:30:525053browse

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.

原因是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.

数据库编码改为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.

加上两行代码即可

企业微信截图_15920150591799.png

推荐:《laravel开发

Statement:
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