升级到Laravel 5.2后,我的.env个文件值都没有被读取.我跟着upgrade instructions;除了auth之外,我的所有配置文件都没有更改.php.在之前的版本5.1.19中,它们都工作正常

.env包含以下值:

DB_DATABASE=mydb
DB_USERNAME=myuser

config/database.php包含

'mysql' => [
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
]

我得到了这个错误:

PDOException: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)

很明显,我没有使用我的环境配置.这会影响我的每一个配置文件,包括bugsnag等第三方.

我也试过了

php artisan config:clear
php artisan cache:clear

Update

try php artisan tinker

>>> env('DB_DATABASE')
=> null
>>> getenv('DB_DATABASE')
=> false
>>> config('database.connections.mysql.database')
=> "forge"
>>> dd($_ENV)
[]

我try 安装了一个全新的Laravel 5.2版本.我基本上只在我的app个文件夹中复制;不包括其他composer 软件包.还是有同样的问题.我在同一台服务器上还有其他Laravel 5.2项目,它们运行良好.

推荐答案

如果.env个变量中有任何一个包含空格,请确保用双引号将其括起来.例如:

SITE_NAME="My website"

在测试之前,不要忘记清除缓存:

php artisan config:cache
php artisan config:clear

Php相关问答推荐

使用HPOS自动删除Woocommerce中3个月以上的已完成订单

仅显示特定WooCommerce产品类别的额外产品字段

PHP FFI—Convert void * to int

使用PHP curl的Amazon SP API批处理调用

在laravel 9或10 php中向中间件响应添加自定义数据

使用CODIGNITER3中的OR和AND子句进行查询

Laravel 10中的Validator类

Wordpress,配置一周第一天选项

如何在 Laravel 中app文件夹之外的文件夹内创建文件路径?

根据小计向 WooCommerce Checkout 添加佣金

将 PHP 版本更改为 8.1,但 WordPress 认为我们正在使用版本 7.4?

Firefox 115 会话行为:为什么页面无法找到要加载的现有会话 ID?

后退按钮不起作用 laravel ajax crud

如何使用不同的方法编写嵌套连接查询并将两列连接成一列在 laravel 查询生成器中

MySQLI bind_param导致的Cannot modify readonly property错误

使用来自 PHP 表单的数据更新 xml 命名空间

使用 Process facade 在外部 Laravel 项目上运行 Artisan 命令会返回主项目的数据库错误

为什么在 phpunit 的开头测试 PHP_VERSION?

即使密码匹配,密码处理程序也会返回错误

如何正确使用Flysystem和Local Adapter