Laravel 11中自定义.env文件目录不生效问题求助
Laravel 11中自定义.env文件目录不生效问题求助
各位好,我最近在尝试给Laravel 11设置自定义的.env文件目录,用来实现多租户的配置隔离,目前遇到了个奇怪的问题,想请大家支个招!
我在app.php里的代码配置如下:
use Illuminate\Cookie\Middleware\EncryptCookies; use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; use Illuminate\Http\Request; // 首先创建应用实例 $app = new Application(dirname(__DIR__)); $env_path = "/var/www/config/".$_SERVER['TENANT_NAME']; $app->useEnvironmentPath($env_path); // 这里用dd输出的路径是完全正确的,指向对应租户的专属目录 // dd($app->environmentFilePath()); return $app::configure() ->withRouting( web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { // 中间件相关配置内容 }) // 其他应用配置项...
现在遇到的问题:
- 在
app.php里调用$app->environmentFilePath()时,输出的路径完全符合预期,是对应租户的专属配置目录 - 但切换到控制器中,不管是用
env()函数读取配置项,还是调用environmentFilePath()方法,返回的都是框架默认的.env文件目录
有没有朋友在Laravel 11里成功实现过自定义.env文件路径的配置?或者有没有其他替代方案,可以实现这种多租户场景下的配置隔离需求?
内容来源于stack exchange
相关产品推荐
相关产品推荐

