PHP 5.2静态var出错:“语法错误,意外T_STATIC”

时间:2010-10-06 14:55:11

标签: php variables static

我有一个非常奇怪的问题:

我的班级看起来像这样

<?php
class asd {
    private static $variable;

    public static function blabla(){
        self::$variable="blubb";
    }
}
?>

当我试图在__autoload函数的帮助下调用asd :: blabla()时,一切正常。 但是当我试图在没有自动加载的情况下调用它时,使用include / require我得到了这个,就在包含

之后
  

解析错误:语法错误,意外T_STATIC,期望第3行路径/ asd.php中的T_OLD_FUNCTION或T_FUNCTION或T_VAR或'}'

我不明白为什么它以一种方式而不是另一种方式起作用。我无法在每个班级使用自动加载机制,所以只使用它不是一个选项。

E: 附加信息:我想要包含Class的文件是.rdf文件,它通过“AddType application / x-httpd-php .rdf”.htaccess条目进行php解析。

如果我尝试将它包含在一个随机的.php文件中,它可以很好地工作,即使手动包含... 这根本没有意义。

e:更多信息: 如果我将整个.rdf代码复制/粘贴到.php文件中,一切正常。如果我现在尝试在.rdf文件中包含.php文件,则会再次出现错误。

2 个答案:

答案 0 :(得分:1)

只是一个猜测:你试过这个吗?注意MIME类型末尾的5。我认为当你使用没有5的MIME类型时,你的服务器上安装了PHP 4而不是PHP 5.2。

AddType application/x-httpd-php5 .rdf

答案 1 :(得分:0)

看起来您的服务器正在运行php4和php5,并且您的文件被解析为php4。 我猜想php5脚本应该通过cgi

运行