【问题标题】:Laravel 5.0 configuration file mail.php not loadedLaravel 5.0 配置文件 mail.php 未加载
【发布时间】:2015-03-12 21:44:33
【问题描述】:

我在 Laravel 5.0 中的配置有问题

我从.env 文件配置了环境local。这台机器是家用机器,我从Homestead.yaml 中删除了APP_ENV 以确保。

环境设置为本地,我通过提示$app->environment()确认

我在本地配置目录中添加了一些配置文件(local/filesystems.php、local/mail.php、local/services.php)。有趣的是 filesystems.php 被加载但邮件没有。如果我从Illuminate\Foundation\Bootstrap\LoadConfiguration 转储getConfigurationFiles(),我会得到

array:11 [▼
  "app" => "/home/vagrant/Code/molkerei/config/app.php"
  "auth" => "/home/vagrant/Code/molkerei/config/auth.php"
  "cache" => "/home/vagrant/Code/molkerei/config/cache.php"
  "compile" => "/home/vagrant/Code/molkerei/config/compile.php"
  "database" => "/home/vagrant/Code/molkerei/config/database.php"
  "filesystems" => "/home/vagrant/Code/molkerei/config/local/filesystems.php"
  "mail" => "/home/vagrant/Code/molkerei/config/mail.php"
  "services" => "/home/vagrant/Code/molkerei/config/services.php"
  "queue" => "/home/vagrant/Code/molkerei/config/queue.php"
  "session" => "/home/vagrant/Code/molkerei/config/session.php"
  "view" => "/home/vagrant/Code/molkerei/config/view.php"
]

我已经尝试使用php artisan cache:clear 清理缓存,但甚至没有缓存文件(它设置为文件系统)

知道为什么配置没有正确加载吗?

【问题讨论】:

  • Laravel 5 还不是一个稳定的版本,所以你可能会发现在这里很难找到答案。您现在可以随时使用 4.2。

标签: php laravel configuration laravel-5


【解决方案1】:

在撰写此答案时 - 不再像 L4 中那样用于配置的“子目录” - 您现在有一个主配置文件夹。

如果需要,您可以使用“.env”文件中的特定配置覆盖任何默认配置。

所以在你的app\config\mail.php 文件中你会写:

'driver' => env('MAIL_DRIVER', 'mandrill'),

这意味着它将默认使用 Mandrill - 除非在您的 .env 文件中放置

MAIL_DRIVER=smtp

这意味着在您的宅基地服务器上,它现在将使用 SMTP 发送邮件。

附言我不知道为什么文件系统会在您的示例中加载 local 配置 - 这可能是一个错误。

【讨论】:

  • 好的,我明白了,如果没有加载文件系统(我在代码中没有看到加载子目录,但不知何故加载了这个目录),也许我会知道这一点。我认为 .env 文件是一种改进,尽管我认为快速切换配置之前更容易。谢谢
猜你喜欢
  • 1970-01-01
  • 2018-02-17
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多