cli模式调用时提示 __ROOT__ 常量未定义?

浏览:3062 发布日期:2015/08/12
日志文件的提示NOTIC: [8] Use of undefined constant __ROOT__ - assumed '__ROOT__' /data/www/order_report/wwwroot/Framework/Library/Behavior/ContentReplaceBehavior.class.php 第 31 行.
NOTIC: [8] Use of undefined constant __ROOT__ - assumed '__ROOT__' /data/www/order_report/wwwroot/Framework/Library/Behavior/ContentReplaceBehavior.class.php 第 38 行.
找到__ROOT__定义的地方(ThinkPHP.php文件第77行~92行)if(!IS_CLI) {
    // 当前文件名
    if(!defined('_PHP_FILE_')) {
        if(IS_CGI) {
            //CGI/FASTCGI模式下
            $_temp  = explode('.php',$_SERVER['PHP_SELF']);
            define('_PHP_FILE_',    rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
        }else {
            define('_PHP_FILE_',    rtrim($_SERVER['SCRIPT_NAME'],'/'));
        }
    }
    if(!defined('__ROOT__')) {
        $_root  =   rtrim(dirname(_PHP_FILE_),'/');
        define('__ROOT__',  (($_root=='/' || $_root=='\\')?'':$_root));
    }
}
从代码可以看到 只有 非 cli 模式才有 __ROOT__ 常量,所以造成现在cli调用时提示 常量未定义。
评论(
后面还有条评论,点击查看>>