繁体   English   中英

Laravel 4 Mail :: queue没有使用正确的环境

[英]Laravel 4 Mail::queue not using the right environment

我已经在这个网站上工作了一段时间,最近才完成,想“上线”。 生产服务器中有两个环境:暂存和生产。 两种环境似乎都可以正常工作,每种环境都有自己的配置。

我面临的怪异问题是在使用Mail :: queue发送电子邮件时,mail类所选择的视图是登台环境中的视图,而不是生产环境中的视图,这似乎也使该类成为了此类认为它处于暂存环境中。 因此,收到的电子邮件中的所有URL(都在视图中配置为类似于URL :: to('route'))都指向暂存环境,而不是生产环境。 因此,如果登台类似于staging.domain.com和生产www.domain.com,则从生产环境发送的我的电子邮件中的链接就是staging.domain.com(相反不会发生)

网站上的其他链接不会发生这种情况,只有电子邮件会发生这种情况。

我还没弄清楚这一点,我希望周围的人能帮助我!

谢谢!

PS:我已经尝试使用artisan cache:clear清除存储文件夹(即缓存)中的视图

由于没有与排队作业关联的HTTP请求,因此它们必须从配置设置中获取应用程序URL。 此配置设置是app.php配置文件中的url键。

我的猜测是您已将app/config/app.php文件中的url密钥设置为staging.domain.com

您可以通过在app/config目录中使用环境名称创建子目录来覆盖每个环境的配置文件。 我更喜欢将php文件放在app/config目录中,而对环境特定的配置文件进行任何配置更改。

例如,解决您的问题的一种方法是创建以下文件(假设您的环境名称是“ staging”和“ production”):

app / config / staging / app.php

return array(
    'url' => 'http://staging.domain.com',
);

app / config / production / app.php

return array(
    'url' => 'http://www.domain.com',
);

您可以在此处阅读有关环境配置的更多信息。

问题与监督配置有关。 基本上只有一个队列,这是分段队列。

通过使用生产队列信息更新supervisor.conf解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM