相关疑难解决方法(0)

如何阻止PHP代码执行?

有没有办法立即停止PHP代码执行?

我知道退出,但它明确指出:

终止脚本的执行.即使调用exit,也将始终执行关闭函数和对象析构函数.

所以我想要实现的是在我调用exit或者其他什么时完全停止PHP代码的执行.

有帮助吗?

编辑:简森回答后

试验1:

function newExit() {
    __halt_compiler();
}    
echo "start";
newExit();    
echo "you should not see this";
Run Code Online (Sandbox Code Playgroud)

显示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";
Run Code Online (Sandbox Code Playgroud)

e.php只包含 __halt_compiler();

这表明startyou不应该看到这个

编辑:我为什么要这样做?

我正在开发一个应用程序,其中包含一个专有库(通过我无法访问的虚拟主机配置文件所需)作为加密代码.是一种用于安全目的的监控库.其中一个行为是它注册了一些记录实例状态的关闭函数(它将统计数据保存到数据库中)

我想要做的是根据(远程IP)禁用某些特定条件的日志记录

php

20
推荐指数
3
解决办法
8万
查看次数

PHP:析构函数vs register_shutdown_function

我有一个PHP类,可以动态创建PNG图像并将其发送到浏览器.PHP手册说我需要确保在结束时调用imagedestroy函数来释放内存.现在,如果我没有使用类,我会得到一些像这样的代码:

function shutdown_func() 
{
    global $img;
    if ($img)
        imagedestroy($img);
}
register_shutdown_function("shutdown_func");
Run Code Online (Sandbox Code Playgroud)

但是,我认为我班级的适当位置是在类'析构函数中调用imagedestroy.

我没有发现析构函数是否以与关闭函数相同的方式调用?例如,如果用户在浏览器中按下STOP按钮,则执行停止.

注意:无论您在答案中写什么,请指向支持它的一些文章或手册页(URL).

php destructor memory-leaks image-processing

12
推荐指数
1
解决办法
5946
查看次数

标签 统计

php ×2

destructor ×1

image-processing ×1

memory-leaks ×1