2014-01-09 43 views
0

升級後到PHP 5.2從PHP 4.2升級PHP 4.2至5.2短開放標籤語法錯誤

<?php $test="hello world"; ?> 
<?= $test ?> 

返回 的hello world

但是,添加註釋斜槓給語法錯誤

<?php $test="hello world"; ?> 
<?= //$test ?> 

解析錯誤:語法錯誤,意外';'在第2行的/home/phpuser/docroot/lapp/test.php

添加在升級前使用的註釋斜槓,在php.ini中啓用short_open_tag。

感謝

+1

我不明白你爲什麼不想回應。爲什麼不僅僅使用'<! - - >'發表評論? – BenM

回答

0

如果使用<?=(稱爲回聲短標籤),你要打印以下表達式的值。你不能評論它。

您可以更改您的代碼

<?php $test="hello world"; ?> 
<?php echo $test ?> 

,然後評論它:

<?php $test="hello world"; ?> 
<?php //echo $test ?> 

否則改變<?=$test?><?php /*=$test*/?> 有你的代碼預期的效果。

參考:http://www.php.net/manual/en/language.basic-syntax.phptags.php

1

<?=實際上相當於<?php echo如此以來,你基本上<?php echo //$test ?>它是回聲語句後找;

我會在這種情況下推薦使用<?php //echo $test ?>來擺脫錯誤。

+0

我同意Steve的解決方案。錯誤來自其他開發人員在過去10年中編寫的代碼。誰知道他們有多少地方使用這種編碼語法!我想有沒有簡單的php.ini調整來解決這個問題? – Intertech

0

錯誤是正確的。 <?= //$test ?>是一個語法錯誤。

<?= $test ?> 

是短期的

<?php echo $test; ?> 

這樣算下來

<?= //$test ?> 

是喜歡做

<?php echo //$test; ?> 

這顯然是一個語法錯誤。