2016-09-07 8 views
-1

通常、ここでは構文エラーは表示されませんが、このケースは少し疑わしいものです。私は文字列で定数をまとめようとしていました。私は、ローカルホスト上で正常に動作しますが、私は自分のWebサーバー上の私のプロジェクトをプッシュするとき、それは私に語った:定数と文字列を組み合わせようとすると構文エラーが発生する

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バージョンを使用していますか? (Webサーバ上の5.5、7.0はlocalhost)

更新

コード内の一部の更新:

class SomeClass { 

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

    ... 
} 
+0

ページを含めましたか? – Amy

+0

localhostと同じコードを使用しています – PrototypeX7

+2

エラーを再現できません。ここに完全で実際の関連コードを表示してください。また、[mcve]を読み、私たちに提供してください。 – Rizier123

答えて

0

はContantを定義するときは、str_replace()も任意の関数を使用することはできません。試してみてください:

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

PHP Manualを参照してください:PHP 5では

、値がスカラー値(整数、浮動小数点、文字列、ブール値、またはNULL)でなければなりません。 PHP 7では、配列の値も受け入れられます。

関連する問題