PHP应用程序在localhost上运行完美,在任何web服务器上都会完全失败,并出现一些奇怪的错误

PHP应用程序在localhost上运行完美,在任何web服务器上都会完全失败,并出现一些奇怪的错误,php,syntax-error,Php,Syntax Error,我设计了一个非常简单的PHP应用程序。在localhost(XAMPP/windows7)上运行良好,在我上传到的任何web服务器上都会完全失败。故障期间显示的错误,请不要告诉我 无论服务器配置是什么(在许多服务器上进行了测试),运行应用程序的任何尝试都会以以下任一方式结束: PHP错误:第1行的…/template/template.html中出现意外的T_字符串 HTTP错误500:内部服务器错误 空页(假设已禁用错误报告) 文件template/template.html只是一个普通的

我设计了一个非常简单的PHP应用程序。在localhost(XAMPP/windows7)上运行良好,在我上传到的任何web服务器上都会完全失败。故障期间显示的错误,请不要告诉我

无论服务器配置是什么(在许多服务器上进行了测试),运行应用程序的任何尝试都会以以下任一方式结束:

  • PHP错误:
    第1行的…/template/template.html中出现意外的T_字符串
  • HTTP错误500:
    内部服务器错误
  • 空页(假设已禁用错误报告)
文件
template/template.html
只是一个普通的XHTML文件,具有正确的头、体和结构,包含一些简单的PHP语句。我在以下函数中使用
require
加载并解析它:

public static function renderPartial($view, $data = array())
{
    if(is_file($view))
    {
        if(is_array($data)) extract($data, EXTR_PREFIX_SAME, 'data');

        ob_start(); 
        ob_implicit_flush(false); 

        require($view);

        return ob_get_clean();
    }
    else die('File <strong>"'.$view.'"</strong> does not exist!');
}
公共静态函数renderPartial($view,$data=array())
{
if(is_文件($view))
{
if(is_数组($data))extract($data,EXTR_前缀_相同,'data');
ob_start();
ob_隐式_刷新(假);
需要($view);
返回ob_get_clean();
}
else die('File“.$view.”“不存在!”);
}
这是我自己的一个非常简单的函数版本,用于Yii(可能还有许多其他框架)渲染视图、子视图或模板。我在我的应用程序中的很多地方都使用它,它就像本地主机上的符咒一样

如果有人想检查,那么是(应该是)实时版本,而压缩存档包含SVN导出的版本,直接从本地主机上的本地工作副本中导出,在这里工作就像做梦一样。(问题已解决--示例已删除)

我已经开发了很多PHP应用程序,无论是纯PHP还是使用Yii框架,这是我第一次遇到这种情况,所以我非常震惊和迷茫。到目前为止,在my localhost(XAMPP)上运行的每个应用程序在任何Web主机上运行时都没有任何问题


非常感谢您的任何想法或帮助。

检查您的Apache服务器是否设置为允许PHP使用短标记(
),因为template.html的第一行有短标记(文档中的其他标记都是长的
)。此外,您在同一文件的第27行中,在echo命令的末尾,遗漏了一个分号,应该是
。不知道这是否有帮助,只是以防万一


你好,海瓦塔

我被浪费和毁灭了!:]答案很简单。但这引出了另一个问题(对于HTML),我们什么时候应该使用这一行(
),什么时候可以省略它并保持文件有效?我刚刚研究了Yii框架的基本布局文件和其他一些示例,但没有这样的行。但另一方面,我有一些XHTML文件,第一行就是这个文件。奇怪。至于第二个——如果只有一行PHP代码,那么可以省略分号。万分感谢!