了解是否检查PHILE_CLI_MODE

时间:2015-10-15 12:29:14

标签: php

我刚刚浏览了 PhileCMS 的代码,并遇到了以下代码:

if (PHILE_CLI_MODE) {
        $_SERVER['REMOTE_ADDR'] = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1';
}

现在什么是PHILE_CLI_MODE以及这个变量来自哪里,我不会在脚本 HERE 中看到它。

有谁可以告诉我这个变量来自哪里?

谢谢。

2 个答案:

答案 0 :(得分:1)

它已在lib/Phile/Bootstrap.php第79行设置。

defined('PHILE_CLI_MODE')   or define('PHILE_CLI_MODE',  (php_sapi_name() == "cli") ? true : false);

答案 1 :(得分:1)

这不是变量,而是constant中定义的lib/Phile/Bootstrap.php

$stmt->setFetchMode(PDO::FETCH_CLASS, 'ClassName', array($pdoargs));

每次都会在根index.php

中包含此文件
defined('PHILE_CLI_MODE')   or define('PHILE_CLI_MODE',  (php_sapi_name() == "cli") ? true : false);

常量PHILE_CLI_MODE在php_sapi_name()的帮助下指示Phile是通过command line(CLI = Command-line interface)还是通过网络浏览器运行(然后是require_once __DIR__ . '/lib/Phile/Bootstrap.php'; )。

最后,如果通过命令行运行Phile并且未设置FALSE,则$_SERVER['REMOTE_ADDR']设置为127.0.0.1(= localhost