这个PHP脚本可以被杀死吗?

时间:2010-11-22 12:21:03

标签: php destructor

<?php

class Test {

    public function foo() {
        echo "Foo!";
        die();
    }

    public function __destruct() {
        header('location: http://google.com');
    }

}

$Test = new Test;
$Test->foo();

我有一个类,只需分配各种Session变量,然后将用户ping回以前的脚本。我认为在destruct上有一个重定向而不是10行说同样的事情会更简单。

我后来在我的剧本中发现了一个错误,发现它几乎不可用。为了将来参考,无论如何要杀死这个脚本还是总是重定向?

为了澄清,即使使用die(),脚本也会重定向,在foo函数中退出。

1 个答案:

答案 0 :(得分:1)

当浏览器断开连接时,

$Test对象被破坏:它不会仅仅因为浏览器不会收到标题而重定向!但是,如果您明确unset($Test);,它将

UPD :我错了:脚本会在浏览器仍然连接的情况下调用所有析构函数。但是,我不会依赖那个