我有一个可以在多台服务器上完美运行的 Laravel 5 应用程序。但是在特定的服务器上,我的.env
文件的值不能通过\Config
外观或config()
函数读取。
让我举一个APP_DEBUG
环境条目的例子,所有其他条目也是如此。
我的 .env 文件(在所有服务器上都相同)包括以下行:
APP_DEBUG=false
通过使用$app->environmentFile()
我知道,我的.env
文件被使用了。
当我通过 直接输出debug
参数时env('APP_DEBUG')
,我得到了正确的值( ),但是从配置( ,,)false
中读取值的所有方法都只返回。\Config::get('app.debug')
config('app.debug')
app('config')->get('app.debug')
NULL
我还尝试通过 清除缓存artisan cache:clear
,因为我认为可能存在一些缓存问题,但这并没有改变任何事情。
我还尝试将 .env 文件的权限设置为 777。
当我通过 输出我的整个配置时\Config::all()
,在我的其他服务器上正确设置的所有值都NULL
在这个特定的服务器上。
有什么建议么?
编辑澄清:该项目在两个不同的虚拟主机上的同一服务器上设置了两次,一个用于服务 dev.domain.tld(用于开发),另一个用于服务 www.domain.tld(用于生产)。两个文件夹使用相同的网络服务器、相同的 PHP 版本和相同的用户