我正在尝试获取一些我存储在.env文件中的API密钥,以便在刀片式javascript中使用。我添加了两个键,如:
APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////
在刀片式服务器中,我需要使用Google Maps API和OverheidIO API密钥。我试过获取一个默认的.env变量,以防我将自定义.env变量格式化错误。:
{{ env('APP.ENV') }} // nothing
{{ env('APP_ENV') }} // nothing
{{ env('APP_ENV'), 'test' }} // returns 'test'
有人可以帮我调用刀片中的google maps api和overheidio api密钥吗?
答案 0 :(得分:66)
如果您的Laravel在.env或数据库文件夹中进行了一些修改后或由于任何其他修改后没有按预期工作,则有五个最重要的命令。 这里有完整的解释: https://www.youtube.com/watch?v=Q1ynDMC8UGg
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear
答案 1 :(得分:16)
我通过以下方式实现它:
@if (env('APP_ENV')!='Production')
Enviroment Test
@endif
我的建议是执行以下命令:composer self-update
答案 2 :(得分:5)
非常重要
所有env(),例如:env('APP_ENV')
在生产中(使用php artisan config:cache
时调用不工作
使用什么?
-仅在配置文件中使用env()
-使用App :: environment()检查环境(.env中的APP_ENV)。
-将config('app.var')用于所有其他环境变量,例如。 config('app.debug')
-为您自己的ENV变量创建自己的配置文件。示例:
在您的.env中:
MY_VALUE=foo
示例配置应用程序/myconfig.php
return [
'myvalue' => env('MY_VALUE', 'bar'), // 'bar' is default if MY_VALUE is missing in .env
];
访问您的代码:
config('myconfig.myvalue') // will result in 'foo'
更多详细信息,请参见HERE
答案 3 :(得分:4)
您应该只直接在配置文件内部访问.env
值,然后使用config()
帮助程序从配置文件中的所有位置(控制器,视图)访问它们
例如:
.env
TEST_URL=http://test
config / app.php
return [ 'test_url' => env('TEST_URL','http://default.url') ];
resources / views / welcome.blade.php
{{ config('app.test_url')}}
有关详细信息,请参阅laravel文档中的configuration caching。
答案 4 :(得分:3)
在config /文件夹中的其他地方使用env()会导致问题。在那里使用env,然后在应用程序的其他部分使用config()
答案 5 :(得分:3)
以下是文档的链接:https://laravel.com/docs/6.x/configuration#retrieving-environment-configuration
在下面的示例中,我在开发环境中吐出了实际错误,但在其他环境中则给出了通用消息。
@if(App::environment('development'))
Error: {{ $record->s_error }}
@else
XML Parsing Error - Please double check that your file is formatted correctly.
@endif
答案 6 :(得分:1)
php artisan config:clear
应该解决它
答案 7 :(得分:1)
自Laravel 7.11起,您可以在刀片模板中使用@env('')
和@production()
指令:
@env('staging')
// The application is running in "staging"...
@endenv
@env(['staging', 'production'])
// The application is running in "staging" or "production"...
@endenv
或
@production
// Production specific content...
@endproduction
答案 8 :(得分:0)
在编辑.env文件以便以简单的方式访问变量之后,应该编写此命令
php artisan config:cache
答案 9 :(得分:0)
如果要获取应用程序的环境,请尝试以下操作:
{{App::environment()}}
我还没有尝试其他变量。
答案 10 :(得分:0)
在此处获取值:config/app.php
在刀片中:
{{ config('app.name', 'default value here') }}
在班级/控制器中:
config('app.name', 'default value here')
答案 11 :(得分:0)
我也很难从.env文件中获取价值,然后我做到了,它有所帮助:
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear
作曲家dump-autoload
答案 12 :(得分:0)
答案 13 :(得分:0)
运行以下命令。
php artisan optimize