C/C++教程

laravel使用env方法获取.env的配置,报错:getting null value when used with config:cache

本文主要是介绍laravel使用env方法获取.env的配置,报错:getting null value when used with config:cache,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

背景:

SANCTUM_STATEFUL_DOMAINS是.env里的一个配置选项,在controller控制器里使用.env('SANCTUM_STATEFUL_DOMAINS')获取,一直都是正常的,突然就报了null

分析:
首先,确认了.env里SANCTUM_STATEFUL_DOMAINS的配置正常,且值不为null

有说是因为laravel的production模式导致env函数返回了null,要改成config函数,但是,这个env返回null,是在本地开发环境下,可以排除production的因素,实际上,改为config获取还是一样的null

解决:
导致env函数返回null的真正原因是:bootstrap/cache/config.php,这个文件会影响env函数的返回值,解决方法就是,把bootstrap/cache/config.php删掉,此时.env('SANCTUM_STATEFUL_DOMAINS')就可以正常读取.env文件里的内容了。
这个使用我们可以再次执行 php artisan config:cache ,这会在bootstrap/cache/下重建一份最新的config.php,这个时候,.env('SANCTUM_STATEFUL_DOMAINS')仍然能正常获取.env文件里的内容。

所以,导致env函数返回null的真正原因是,bootstrap/cache/config.php较旧导致的,只需要删掉,重建一份最新的即可。

参考资料:
https://bigboxcode.com/laravel-env-getting-null-value-when-used-with-configcache

这篇关于laravel使用env方法获取.env的配置,报错:getting null value when used with config:cache的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!