我已经在这个网站上工作了一段时间,刚刚结束并希望“上线”。我的生产服务器中有两个环境:分段和生产。这两种环境似乎都运行良好,每种环境都有自己的配置。
我遇到的奇怪问题是当使用Mail :: queue发送电子邮件时,邮件类正在拾取的视图是登台环境中的视图而不是生产中的视图,这似乎也是让班级认为它在临时环境中。因此,收到的电子邮件中的所有URL(在视图中配置为URL :: to('route'))都指向登台环境而不是生产。因此,如果暂存类似于staging.domain.com和生产www.domain.com,那么从生产环境发送的电子邮件中的链接是staging.domain.com(相反情况不会发生)
网站中的其他链接不会发生这种情况,只会发送电子邮件。
我无法弄明白这一点,我希望周围的人可以帮助我!
谢谢!
PS:我已经尝试清除存储文件夹中的视图,使用工匠缓存清除缓存:清除
答案 0 :(得分:0)
由于没有与排队作业关联的HTTP请求,因此必须从配置设置获取应用程序URL。此配置设置是url
配置文件中的app.php
密钥。
我的猜测是您已将url
文件中的app/config/app.php
密钥设置为staging.domain.com
。
您可以通过在app/config
目录中使用环境名称创建子目录来覆盖每个环境的配置文件。我更喜欢将php文件单独留在app/config
目录中,并对环境特定的配置文件进行任何配置更改。
例如,您的问题的一个解决方案是创建以下文件(假设您的环境名称是" staging"" production"):
应用/配置/分段/ app.php 强>
return array(
'url' => 'http://staging.domain.com',
);
应用/配置/生产/ app.php 强>
return array(
'url' => 'http://www.domain.com',
);
您可以阅读有关环境配置here的更多信息。
答案 1 :(得分:0)
问题与 supervisord 配置有关。基本上只有一个队列,它是暂存的。
通过使用生产队列信息更新 supervisord.conf 解决了该问题。