【发布时间】:2014-02-22 19:54:11
【问题描述】:
有没有办法立即停止 PHP 代码执行?
我知道exit,但它明确指出:
终止脚本的执行。即使调用了 exit ,也将始终执行关闭函数和对象析构函数。
所以我想要实现的是在我调用 exit 或其他什么时完全停止 PHP 代码执行。
有什么帮助吗?
编辑:在简森的回答之后
试验一:
function newExit() {
__halt_compiler();
}
echo "start";
newExit();
echo "you should not see this";
显示Fatal error: __HALT_COMPILER() can only be used from the outermost scope in,这是意料之中的。
试验 2:
function newExit() {
include 'e.php';
}
echo "start";
newExit();
echo "you should not see this";
e.php 只包含__halt_compiler();
这表明开始你不应该看到这个
编辑:我为什么要这样做?
我正在开发一个应用程序,该应用程序包含一个作为加密代码提供的专有库(通过我无权访问的虚拟主机配置文件需要)。是一种出于安全目的的监控库。它的行为之一是它注册了一些记录实例状态的关闭函数(它将统计信息保存到数据库中)
我想要做的是禁用此日志记录基于(远程IP)的某些特定条件
【问题讨论】:
-
死();可能有帮助
-
@ArthurYakovlev 退出和死亡之间的行为几乎没有区别
-
>这个语言结构等价于exit()。
-
请问您为什么要这样做?通常写类或关闭函数的人写它们是有原因的。
-
这是一种极端且不寻常的行为。 @skafandri 没有提供需要执行此操作的极端和不寻常的用例。有什么需要?在您的示例中,
exit()可以正常工作。
标签: php