我有以下脚本
<?php
echo "I am alive<br>";
die("I am dying<br>");
echo ("Dead");
?>
我得到的输出是
I am alive
I am dying
是否有任何方法(替代/替代die()
)可以继续执行剩余的脚本?
编辑:
对不起,我得到了我想要的,并投票结束了这个问题。请忽略这个问题。
如果您的问题背后的动机在于错误处理,您可能想看看 PHP 中的 try/catch 结构。
您可以使用trigger_error:
<?php
echo "I am alive<br>";
trigger_error("I am dying<br>");
echo ("Dead");
?>
输出:
I am alive
Notice: I am dying in ... on line 3
Dead
如果您想在结果返回给用户后运行脚本,请尝试以下操作:
while (ob_get_level () != 0) {
ob_end_clean ();
}
header ("Connection: close\r\n");
header ("Content-Encoding: none\r\n");
ignore_user_abort (true);
ob_start ();
// do stuff that should be returned here
header ("Content-Length: ".ob_get_length ());
ob_end_flush ();
flush ();
// do rest here