为什么 Laravel 在加载时间四秒后无法访问 .env vars

问题描述

我的 Laravel 站点在页面加载期间使用 SoapClient 访问另一个站点(在调用 soap 之前执行大约 6 秒的数据处理。)我注意到有时 SoapClient 切换到非 wsdl 模式并且进程出错。我发现发生这种情况是因为 SoapClient 为其第一个构造函数参数(WSDL 文件的 URI)传递了一个 NULL。我觉得这很奇怪,因为这个值直接来自 .env 文件。该站点连接到数据库没有问题,因此 .env 文件必须正常工作。我设置了一个在页面加载期间重复访问 .env 变量的函数,使用 env(...)。在 Soap 错误期间,我发现大约 4 秒时,该站点无法访问 .env 变量。在此之前,这些信息是可以访问的。在那之后,对 env() 的调用返回 NULL。这可能与其他页面请求有关(可能重复调用同一页面,请求相同的进程。)另外,我刚刚将 php 升级到 7.4.13(具有 64 位线程支持的 xampp:php-7.4.13-Win32-vc15 -x64。) 有没有人见过这个,有办法解决这个问题吗?

编辑 ====

SoapClient 是在模型中创建的,并且使用 env() 函数来访问环境变量。我了解到 env() 不应该在配置文件之外的任何地方使用。这可以解释我的问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)