2016-09-07 4 views
-1

일반적으로 여기에 구문 오류를 게시하지 않지만이 경우에는 약간 의심 스럽습니다. 저는 문자열로 상수를 조합하려고했습니다. 나는 로컬 호스트에서 잘 작동하지만 난 내 웹 서버에서 내 프로젝트를 누를 때, 그것은 나에게 말한다 :상수와 문자열을 조합 할 때 구문 오류가 발생합니다.

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 로컬 호스트)

업데이트

코드에서 일부 업데이트하십시오의 상수를 정의 할 때

class SomeClass { 

    private $somePath = ROOT . "some/path"; //Synax error in this line 

    ... 
} 
+0

페이지를 포함 시켰습니까? – Amy

+0

localhost에서와 동일한 코드를 사용하고 있습니다. – PrototypeX7

+2

오류를 재현 할 수 없습니다. 전체, 실제 및 관련 코드를 여기에 표시하십시오. 또한 [mcve]를 읽고 제공하십시오. – Rizier123

답변

0

당신은 str_replace()도 모든 기능을 사용할 수 없습니다. 시도 :

define("ROOT", $_SERVER["SCRIPT_FILENAME"]); 
$somePath = str_replace("index.php", "", ROOT) . "some/path"; 

PHP Manual를 참조하십시오 :

PHP 5에서, 값이 있어야합니다 스칼라 값을 (정수, 부동 소수점, 문자열, 부울, 또는 NULL). PHP 7에서는 배열 값도 허용됩니다.

관련 문제