Laravel控制器读取config/mail中from配置失败,求排查错误原因
解决Laravel控制器中获取邮件配置失败的问题
嘿,我一眼就发现你代码里的问题啦!你写的config/mail['from.address']是错误的语法,Laravel获取配置的正确方式不是这样的,下面给你拆解错误原因和正确写法:
你的错误点
你混淆了函数调用的语法:
- Laravel提供的配置获取函数是
config(),不是用斜杠/来访问的 - 配置项的层级应该用**点
.**来分隔,或者通过数组索引访问,但前提是先正确调用config()函数
正确的获取方式
这里有两种靠谱的写法,任选其一就行:
方式1:推荐用点分隔的字符串参数(最简洁)
$address = config('mail.from.address'); $name = config('mail.from.name');
方式2:通过数组索引访问
先获取整个mail配置数组,再逐层取值:
$mailConfig = config('mail'); $address = $mailConfig['from']['address']; $name = $mailConfig['from']['name'];
额外注意事项
如果按照上面的写法还是获取不到正确值,可能是配置缓存的问题:
- 如果你在生产环境运行过
php artisan config:cache,修改.env或config/mail.php后需要重新执行php artisan config:cache来更新缓存 - 开发环境可以执行
php artisan config:clear清除配置缓存,这样修改后的配置会立即生效
内容的提问来源于stack exchange,提问作者wenus
相关产品推荐
相关产品推荐

