Php artisan migrate命令引发错误

Php artisan migrate命令引发错误,php,mysql,laravel,Php,Mysql,Laravel,我是新来的,我面临着一个问题。当我运行“php migrate artisan”命令时,它抛出以下错误: 我查看了几乎所有的引用,my.env和database.php文件看起来都是正确的,还取消了注释;php.ini文件中的extension=php_mssql.dll,但这些都不能帮助我解决这个问题 如果有人知道如何解决这个问题,我将不胜感激 先谢谢你 My.env文件: APP_NAME=BigDeal APP_ENV=local APP_KEY=base64:yNSvLI8gQ1vQ

我是新来的,我面临着一个问题。当我运行“php migrate artisan”命令时,它抛出以下错误:

我查看了几乎所有的引用,my.env和database.php文件看起来都是正确的,还取消了注释;php.ini文件中的extension=php_mssql.dll,但这些都不能帮助我解决这个问题

如果有人知道如何解决这个问题,我将不胜感激

先谢谢你


My.env文件:

APP_NAME=BigDeal
APP_ENV=local
APP_KEY=base64:yNSvLI8gQ1vQdxFByAfz+jPhuLKy9P7LwqDVoCiLXQ8=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bigdeal-laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
<?php

use Illuminate\Support\Str;

return [

/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/

'default' => env('DB_CONNECTION', 'mysql'),

/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Here are each of the database connections setup for your application.
| Of course, examples of configuring each database platform that is
| supported by Laravel is shown below to make development simple.
|
|
| All database work in Laravel is done through the PHP PDO facilities
| so make sure you have the driver for your particular database of
| choice installed on your machine before you begin development.
|
*/

'connections' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'url' => env('DATABASE_URL'),
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => '',
        'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
    ],

    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

My database.php文件:

APP_NAME=BigDeal
APP_ENV=local
APP_KEY=base64:yNSvLI8gQ1vQdxFByAfz+jPhuLKy9P7LwqDVoCiLXQ8=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bigdeal-laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
<?php

use Illuminate\Support\Str;

return [

/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/

'default' => env('DB_CONNECTION', 'mysql'),

/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Here are each of the database connections setup for your application.
| Of course, examples of configuring each database platform that is
| supported by Laravel is shown below to make development simple.
|
|
| All database work in Laravel is done through the PHP PDO facilities
| so make sure you have the driver for your particular database of
| choice installed on your machine before you begin development.
|
*/

'connections' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'url' => env('DATABASE_URL'),
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => '',
        'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
    ],

    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

这是由于许多原因造成的。其中之一是php扩展(如:pdo,…)

可能是您正在使用的laravel版本与您在系统中使用的php版本不兼容

e、 g:您使用的是laravel 5.5,它需要

  • PHP>=7.0.0
  • OpenSSL PHP扩展
  • PDO PHP扩展
  • Mbstring PHP扩展
  • 标记器PHP扩展
  • XML PHP扩展

但您的系统具有PHP5.6或任何其他更低版本。没有这些扩展。

这是由于许多原因造成的。其中之一是php扩展(如:pdo,…)

可能是您正在使用的laravel版本与您在系统中使用的php版本不兼容

e、 g:您使用的是laravel 5.5,它需要

  • PHP>=7.0.0
  • OpenSSL PHP扩展
  • PDO PHP扩展
  • Mbstring PHP扩展
  • 标记器PHP扩展
  • XML PHP扩展

但您的系统具有PHP5.6或任何其他更低版本。哪些没有这些扩展。

你可以尝试使用
'default'=>'mysql',
而不是
'default'=>env('DB_CONNECTION','mysql'),
?不幸的是,这并没有解决我的问题。感谢您的努力:)您能否尝试使用
'default'=>'mysql',
而不是
'default'=>env('DB_CONNECTION','mysql'),
?不幸的是,这并没有解决我的问题。感谢您的努力:)似乎还需要PDO+SQLite部分。我明白了,我已经运行了“php artisan--version”命令,我可以看到Laravel版本是5.8.19,而我的php版本是7.3.5。也许,这会产生一个问题。我正在尝试修复它,并会让您知道发生了什么。非常感谢您的澄清。嗯,php信息向我展示了以下内容:PDO支持=>已启用,开放SSL支持=>已启用,令牌化器支持=>已启用,XML php支持=>已启用似乎需要PDO+SQLite部分。我明白了,我已经运行了“phpartisan--version”命令,可以看到Laravel的版本是5.8.19,而我的php的版本是7.3.5。也许,这会产生一个问题。我正在尝试修复它,并会让您知道发生了什么。非常感谢您澄清.Hmm,php信息向我展示了以下内容:PDO支持=>已启用,开放SSL支持=>已启用,令牌化器支持=>已启用,XML php支持=>已启用