3

我在 Windows XP 和 Apache 2.2.21 上使用 Wampserver。

此代码在执行时崩溃:

<?php

class Tax {
    public static function load($id)
    {
        echo $id;
    }
}

$tax = Tax::load(1);

?>

此代码在执行时不会崩溃:

<?php

class Tax {
    public static function load($id)
    {
        echo $id;
    }
}

$tax = Tax::load(10);

?>

简单来说,如果我将一个数字传递给函数load,Apache 就会崩溃。但是,如果我将函数名称更改为load以外的任何内容,它就可以正常工作。另外,我知道该函数不会返回任何内容,但它至少应该仍然可以编译。

此代码也有效:

Tax::load(5);

我现在有点迷茫,因为我不知道为什么这段代码会导致崩溃。请帮帮我。

编辑

我正在使用 PHP 5.3.10

Apache 错误日志中没有错误

将变量名 $tax 更改为其他任何东西(例如 $a)都可以。我更加困惑了。

我知道 apache 崩溃是因为我得到一个 Windows 错误这样说。Apache 服务器会自动重新启动,并在崩溃后一分钟左右恢复。

4

3 回答 3

6

如果 Apache 真的崩溃了,那么您应该查看以下文件以查看发生了什么:

[WAMP directory]/apache/logs/error.log
于 2013-01-25T18:54:28.013 回答
0

仅仅因为它回响并且不返回不应该使apache崩溃。

于 2013-01-25T18:58:12.710 回答
0

尝试更改 $tax 的名称(变量)。

于 2013-01-25T18:55:57.277 回答