日期:2014-05-17  浏览次数:20532 次

代码运行在win5.3.13正常 但是在linux5.2.8 中出现syntax error,unexpected T_STRING .
先看代码。
<?php header('Content-type: text/xml'); ?>
<?xml version="1.0" encoding="utf-8" ?>
<return>
<code><?php echo $code; ?>
<?php if(isset($message)): ?>
<message><?php echo $message; ?></message>
<?php endif; ?>
</return>

在本地端运行正常win5.3.13。没有任何错误。
但是在服务器端出现错误。(我不知道服务器端的设置是怎样的。)linux5.2.8
引用
Parse error: syntax error, unexpected T_STRING in /home/XXXXXXXX/emailReturn.php on line 2

然后我在服务器端尝试一一下代码。
<?php header('Content-type: text/xml'); 
echo '<?xml version="1.0" encoding="utf-8" ?>'; ?>
<return>
<code><?php echo $code; ?>
<?php if(isset($message)): ?>
<message><?php echo $message; ?></message>
<?php endif; ?>
</return>

服务器运行正常。请问这是什么错误,为什么会发现这个错误?
PHP 错误

------解决方案--------------------
你的服务器端的php,启用了短标记
对于 <?xml 被解释成
<? php代码开始
xml 一个无效的名称
------解决方案--------------------
很简单,你开启了php.ini中的short_open_tags的功能了,<?xml让php执行引擎认为是php语句的标签了。
short_open_tag