求助 env () 函数获取不到值了

线上生产环境运行

artisan config:cache
artisan route:cache
artisan route:cache

之后在Controller里用env获取到的都是null了

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 5

env函数不是像你这样用的。。。

如果缓存了配置,laravel就不会把.env中的配置加载到$_ENV全局变量中,因此你在程序中用env函数是获取不到值的。

7年前 评论
liyu001989

首先,controller为什么会去取env。或者说controller 应该不知道env这回事

controller 关心的是配置,而配置才会因为环境的不同而不同。

所以比如场景是

controller 想的到支付宝的应用id,
支付宝id,线上使用线上的id,测试环境使用沙箱的id
首先应该有个 config/alipay.php  , 配置文件有 [app_id => env('ALIPAY_APP_ID')]
测试,正式,开发有自己的ALIPAY_APP_ID

controller 怎么都会是 config('alipay.app_id') 而不是 env('ALIPAY_APP_ID') 去获取

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!