【问题标题】:PHP Parse error - unexpected T_STRING [duplicate]PHP Parse 错误 - 意外的 T_STRING [重复]
【发布时间】:2012-05-17 09:01:39
【问题描述】:

在 Windows (WAMP) 中,我有一个这样的 index.php

<?xml version="1.0" encoding="utf-8"?>
<?php
    // ...
?>

它按预期工作。
现在我刚刚在 Ubuntu 上配置了一个 LAMP,并且同一个文件(当从浏览器调用时)给了我一个错误。查看error.log我找到了

PHP 解析错误:语法错误,意外的 T_STRING 在 /var/www/test/index.php 在第 1 行

如果我删除第一行一切正常。
怎么了?为什么这适用于 Windows 而不是 Linux?
这可能是由特定扩展引起的吗?

【问题讨论】:

  • 我认为短标签答案会起作用;根据我的经验,我总是从 PHP 代码中回显 &lt;?xml ... ?&gt; 字符串,所以我不必担心如何设置短标签。
  • echo '';
  • 如果您尝试运行 phpunit 并且未完成参数,也会发生这种情况。例如phpunit --filter -c phpunit.xml 会触发同样的错误。
  • 只是将问号作为字符串回显。

标签: xml php


【解决方案1】:

听起来您启用了短标签,这将导致 PHP 尝试解析 &lt;? 之后的内容。

将 php.ini 中的配置选项 short_open_tag 设置为 0Off 并重新启动 Apache。

【讨论】:

  • 一个花了我很多时间的愚蠢错误:非常感谢!!!
【解决方案2】:

将 XML 作为字符串处理并不是一个好主意。

你应该使用像http://de.php.net/manual/en/book.dom.php这样的php XML库

【讨论】:

  • echo '';
【解决方案3】:

您是否检查过是否在 php.ini 上启用/禁用了短标签?

【讨论】:

  • 感谢您的帮助!!我非常感谢
猜你喜欢
  • 1970-01-01
  • 2023-03-20
  • 2010-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多