通常我不会在这里发布语法错误,但这种情况对我来说有点怀疑。我试图用一个字符串组合一个常量。我在localhost上运行正常,但是当我在我的网络服务器上推送我的项目时,它告诉我:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in xxx on line xxx
代码:
define("ROOT", str_replace("index.php", "", $_SERVER["SCRIPT_FILENAME"]));
和
$somePath = ROOT . "some/path"; //Synax error in this line
这与不同的PHP版本有关吗? (网络服务器上的5.5,7.0 localhost)
更新
代码中的一些更新:
class SomeClass {
private $somePath = ROOT . "some/path"; //Synax error in this line
...
}
答案 0 :(得分:0)
定义内容时,不能使用str_replace()
或任何函数。尝试:
define("ROOT", $_SERVER["SCRIPT_FILENAME"]);
$somePath = str_replace("index.php", "", ROOT) . "some/path";
请参阅PHP Manual:
在PHP 5中,value必须是标量值(整数,浮点数,字符串,布尔值或NULL)。在PHP 7中,也接受数组值。