我正在浏览PhileCMS的代码,看到了下面这行代码:
if (PHILE_CLI_MODE) {
$_SERVER['REMOTE_ADDR'] = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1';
}
现在什么是PHILE_CLI_MODE和这个变量是从哪里来的,我没有看到它在脚本中声明HERE。
谁能告诉我这个变量是从哪里来的?
谢谢。
它被设置在lib/Phile/Bootstrap.php
,第79行
defined('PHILE_CLI_MODE') or define('PHILE_CLI_MODE', (php_sapi_name() == "cli") ? true : false);
它不是一个变量,它是在lib/Phile/Bootstrap.php中定义的常量
defined('PHILE_CLI_MODE') or define('PHILE_CLI_MODE', (php_sapi_name() == "cli") ? true : false);
这个文件每次都包含在根索引中。
require_once __DIR__ . '/lib/Phile/Bootstrap.php';
常数PHILE_CLI_MODE表示在php_sapi_name()的帮助下,如果Phile是通过命令行(CLI =命令行界面)或通过web浏览器(那么它是FALSE
)运行。
最后,如果通过命令行运行Phile并且没有设置$_SERVER['REMOTE_ADDR']
,则$_SERVER['REMOTE_ADDR']
设置为127.0.0.1 (=localhost)