php - Laravel:InvalidArgumentException:数据库 [mysql] 未配置

标签 php mysql laravel

为了让 Laravel 正常工作,我已经尝试了好几天。我无法弄清楚的当前问题是未配置的数据库。

.环境:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laracms
DB_USERNAME=homestead
DB_PASSWORD=secret

数据库.php:

'connections' => [
    'mysql' => [
        'driver'      => 'mysql',
        'host'        => env( 'DB_HOST', '127.0.0.1' ),
        'port'        => env( 'DB_PORT', '3306' ),
        'database'    => env( 'DB_DATABASE', 'laracms' ),
        'username'    => env( 'DB_USERNAME', 'homestead' ),
        'password'    => env( 'DB_PASSWORD', 'secret' ),
        'unix_socket' => env( 'DB_SOCKET', '' ),
        'charset'     => 'utf8mb4',
        'collation'   => 'utf8mb4_unicode_ci',
        'prefix'      => '',
        'strict'      => true,
        'engine'      => null,
    ],
],

编辑:

Laravel.log

[2018-12-05 15:59:34] laravel.EMERGENCY: Unable to create configured          logger. Using emergency logger. {"exception":"[object]    (InvalidArgumentException(code: 0): Log [] is not defined. at    /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Log/Log Manager.php:167)
[stacktrace]
#0   /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(101): Illuminate\\Log\\LogManager->resolve(NULL)
#1 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(89): Illuminate\\Log\\LogManager->get(NULL)
#2 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(490): Illuminate\\Log\\LogManager->driver()
#3 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(114): Illuminate\\Log\\LogManager->error('syntax error, u...', Array)
#4 /home/vagrant/code/laracms/app/Exceptions/Handler.php(37): Illuminate\\Foundation\\Exceptions\\Handler->report(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#5 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(353): App\\Exceptions\\Handler->report(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#6 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(132): Illuminate\\Foundation\\Console\\Kernel->reportException(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#7 /home/vagrant/code/laracms/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#8 {main}
"} 
[2018-12-05 15:59:34] laravel.ERROR: syntax error, unexpected    ''connections'' (T_CONSTANT_ENCAPSED_STRING), expecting ']' {"exception":"   [object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code:   0): syntax error, unexpected ''connections'' (T_CONSTANT_ENCAPSED_STRING),   expecting ']' at /home/vagrant/code/laracms/config/database.php:45)
[stacktrace]
#0 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php(39): Illuminate\\Foundation\\Bootstrap\\LoadConfiguration->loadConfigurationFiles(Object(Illuminate\\Foundation\\Application), Object(Illuminate\\Config\\Repository))
#1 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(204): Illuminate\\Foundation\\Bootstrap\\LoadConfiguration->bootstrap(Object(Illuminate\\Foundation\\Application))
#2 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(297): Illuminate\\Foundation\\Application->bootstrapWith(Array)
#3 /home/vagrant/code/laracms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(120): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#4 /home/vagrant/code/laracms/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#5 {main}
"} 

最佳答案

我终于使用您日志中的信息重现了您的确切错误:

[2018-12-18 10:32:25] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (InvalidArgumentException(code: 0): Log [] is not defined. at /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:167)
[stacktrace]
#0 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(101): Illuminate\\Log\\LogManager->resolve(NULL)
#1 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(89): Illuminate\\Log\\LogManager->get(NULL)
#2 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(490): Illuminate\\Log\\LogManager->driver()
#3 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(114): Illuminate\\Log\\LogManager->error('syntax error, u...', Array)
#4 /var/www/html/galaxus-explorer/app/Exceptions/Handler.php(37): Illuminate\\Foundation\\Exceptions\\Handler->report(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#5 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\Exceptions\\Handler->report(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#6 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\\Foundation\\Http\\Kernel->reportException(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#7 /var/www/html/galaxus-explorer/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#8 {main}
"} 
[2018-12-18 10:32:25] laravel.ERROR: syntax error, unexpected ''connections'' (T_CONSTANT_ENCAPSED_STRING), expecting ']' {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): syntax error, unexpected ''connections'' (T_CONSTANT_ENCAPSED_STRING), expecting ']' at /var/www/html/galaxus-explorer/config/database.php:34)
[stacktrace]
#0 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php(39): Illuminate\\Foundation\\Bootstrap\\LoadConfiguration->loadConfigurationFiles(Object(Illuminate\\Foundation\\Application), Object(Illuminate\\Config\\Repository))
#1 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(204): Illuminate\\Foundation\\Bootstrap\\LoadConfiguration->bootstrap(Object(Illuminate\\Foundation\\Application))
#2 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(162): Illuminate\\Foundation\\Application->bootstrapWith(Array)
#3 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(146): Illuminate\\Foundation\\Http\\Kernel->bootstrap()
#4 /var/www/html/galaxus-explorer/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#5 /var/www/html/galaxus-explorer/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#6 {main}
"} 

在我看来这像是一个语法错误,因此我无法说出它发生的原因。看看我做了什么来产生错误,connections 键上的引号:

'''connections''' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => '',
    ],

    'mysql' => [
        'driver' => 'mysql',
        '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' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

请仔细检查您的config/database.php 文件。可能你上传的文件和本地文件有差异。 connections 键一定有问题,或者之前某处的引号有问题。最好发布整个文件。

关于php - Laravel:InvalidArgumentException:数据库 [mysql] 未配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53652958/

相关文章:

php - 出现在 PHP 文件开头的垃圾代码

mysql - SQL SELECT 子句列添加行?

laravel - 我可以在同一个 Laravel 项目中使用多个路由吗?

laravel - 如何创建具有关系的 Eloquent 模型?

php - Laravel Model Create 方法返回不完整的字段模型实例

php - 将 X 数组变成单个数组

PHP[OOP] - 如何手动调用类构造函数?

php - HTML/PHP - 默认输入值

php - 在 CodeIgniter 中使用模型的数据库问题

MySQL 加载数据本地 INFILE Julia