php7 的 require_once 包含环境变量时为何失效?

2018-09-03 09:28:14 +08:00
 baskice
我在 nginx 里设置 fastcgi_param MW_CONFIG_FILE "/mediawiki-setting/LocalSettings.php";
然后在 mediawiki 那边设置 require_once ( MW_CONFIG_FILE );
理论上应当能加载设置,但实际上一直出错,why ?

直接 require_once ( "/mediawiki-setting/LocalSettings.php" ); 就不出错?? 难不成是要对 MW_CONFIG_FILE 进行转义?
2110 次点击
所在节点    问与答
4 条回复
baskice
2018-09-03 09:43:04 +08:00
#$ourwikifarmsettingfilelocation = getenv( 'MW_CONFIG_FILE' );
#require_once ( "$ourwikifarmsettingfilelocation" );
目前这样低效的 getenv 一次可以绕过。

大家知道怎么直接 require 下来吗?
baskice
2018-09-03 09:47:58 +08:00
解决~有效的写法是 require_once ( $_SERVER['MW_CONFIG_FILE'] );
感谢 techmoe
branchzero
2018-09-03 09:50:07 +08:00
环境变量不能直接用调用常量的办法获取的吧?还有一个$_ENV 可以用 http://php.net/manual/zh/reserved.variables.environment.php
InternetExplorer
2018-09-03 09:50:14 +08:00
$_SERVER['MW_CONFIG_FILE']

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/485516

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX