在工匠修补程序上看不到电子邮件配置
Posted
技术标签:
【中文标题】在工匠修补程序上看不到电子邮件配置【英文标题】:Can't see email configuration on artisan tinker 【发布时间】:2020-03-13 11:41:31 【问题描述】:我已经在 .env 文件上设置了我的电子邮件配置,但是当我从 tinker 检查时显示为空值。
这是我的环境配置
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=465
MAIL_USERNAME=c57xxxx07f1
MAIL_PASSWORD=44****02fae
MAIL_ENCRYPTION=tls
我无法为此发送电子邮件任何解决方案?
【问题讨论】:
你使用的是什么版本的 Laravel?您是否更改了config/mail.php
文件?
5.8 不,我没有改变任何东西
我猜这不是全新的 5.8 安装,而是从以前的版本升级而来的?只是想确认您为什么缺少应该在该版本的邮件配置中的配置密钥
【参考方案1】:
尝试找到您的config/mail.php
然后把你的 env 密钥放进去。
env('MAIL_HOST', 'smtp.mailgun.org')
第一个参数是你的环境键,第二个参数是默认值。
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
...
并清除配置缓存:
php artisan config:clear
php artisan optimize
【讨论】:
@MuhammadSaad 我认为您的环境无法正常工作。尝试在 tinker 中输入ENV('MAIL_PORT')
。
>>> ENV('MAIL_PORT') => "465"
你在设置之前缓存配置吗?
当我运行 config('mail') 时,它会在修补程序中显示所有内容
@lagbox 对不起。我的错。我在终端中运行 php artisan config:clear
而不是 php artisan cache:clear
。你说的对。该源代码中没有bootstrap/cache
。【参考方案2】:
env
文件发生更改后,您需要清除缓存。否则,您的更改不会更新。所以每当你进行更改时需要清除缓存,然后在使用 tinker 之后。
php artisan config:clear
php artisan tinker
config('mail')
【讨论】:
不,你不需要清除缓存存储...缓存存储与配置缓存无关 @lagbox 但是当我尝试cache:clear
命令然后tinker
。它正在处理我的本地项目。
缓存存储与配置缓存完全无关
@lagbox 好的,明白了。需要使用config:clear
命令进行配置。【参考方案3】:
使用 config('email') 后 如果您没有获得 .env 电子邮件配置,那么
php artisan config:cache
然后
php artisan tinker
config('mail')
得到你的结果
【讨论】:
以上是关于在工匠修补程序上看不到电子邮件配置的主要内容,如果未能解决你的问题,请参考以下文章