V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
baskice
V2EX  ›  问与答

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

  •  
  •   baskice · 2018-09-03 09:28:14 +08:00 · 1704 次点击
    这是一个创建于 1439 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在 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 进行转义?
    baskice
        1
    baskice  
    OP
       2018-09-03 09:43:04 +08:00
    #$ourwikifarmsettingfilelocation = getenv( 'MW_CONFIG_FILE' );
    #require_once ( "$ourwikifarmsettingfilelocation" );
    目前这样低效的 getenv 一次可以绕过。

    大家知道怎么直接 require 下来吗?
    baskice
        2
    baskice  
    OP
       2018-09-03 09:47:58 +08:00
    解决~有效的写法是 require_once ( $_SERVER['MW_CONFIG_FILE'] );
    感谢 techmoe
    branchzero
        3
    branchzero  
       2018-09-03 09:50:07 +08:00 via Android
    环境变量不能直接用调用常量的办法获取的吧?还有一个$_ENV 可以用 http://php.net/manual/zh/reserved.variables.environment.php
    InternetExplorer
        4
    InternetExplorer  
       2018-09-03 09:50:14 +08:00
    $_SERVER['MW_CONFIG_FILE']
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4358 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:52 · PVG 10:52 · LAX 19:52 · JFK 22:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.