【问题标题】: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 安装,而是从以前的版本升级而来的?只是想确认您为什么缺少应该在该版本的邮件配置中的配置密钥

标签: php laravel email laravel-artisan tinker


【解决方案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')

得到你的结果

【讨论】:

    猜你喜欢
    • 2021-03-29
    • 2019-03-05
    • 2016-03-17
    • 2017-05-26
    • 2018-06-26
    • 2020-11-16
    • 2013-12-10
    • 2020-11-21
    • 2023-03-17
    相关资源
    最近更新 更多