baskice
V2EX  ›  问与答

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

  •  
  •   baskice · Sep 3, 2018 · 2756 views
    This topic created in 2837 days ago, the information mentioned may be changed or developed.
    我在 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
       Sep 3, 2018
    #$ourwikifarmsettingfilelocation = getenv( 'MW_CONFIG_FILE' );
    #require_once ( "$ourwikifarmsettingfilelocation" );
    目前这样低效的 getenv 一次可以绕过。

    大家知道怎么直接 require 下来吗?
    baskice
        2
    baskice  
    OP
       Sep 3, 2018
    解决~有效的写法是 require_once ( $_SERVER['MW_CONFIG_FILE'] );
    感谢 techmoe
    branchzero
        3
    branchzero  
       Sep 3, 2018 via Android
    环境变量不能直接用调用常量的办法获取的吧?还有一个$_ENV 可以用 http://php.net/manual/zh/reserved.variables.environment.php
    InternetExplorer
        4
    InternetExplorer  
       Sep 3, 2018
    $_SERVER['MW_CONFIG_FILE']
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3728 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 04:29 · PVG 12:29 · LAX 21:29 · JFK 00:29
    ♥ Do have faith in what you're doing.