PHP中的die()函数和exit()函数有什么区别?

我认为两者具有相同的功能,但我怀疑两者之间有什么不同……是什么?


当前回答

PHP模具手册:

die -相当于退出

你甚至可以死去;与退出的方式相同;-有或没有paren。

选择die()而不是exit()的唯一好处可能是你可以节省输入一个额外的字母的时间;-)

其他回答

这里有一些非常有趣的东西。虽然exit()和die()是等价的,但die()关闭了连接。Exit()不会关闭连接。

die ():

<?php
    header('HTTP/1.1 304 Not Modified');
    die();
?>

退出():

<?php
    header('HTTP/1.1 304 Not Modified');
    exit();
?>

结果:

die ():

HTTP/1.1 304 Not Modified 
Connection: close

退出():

HTTP/1.1 304 Not Modified 
Connection: Keep-Alive 
Keep-Alive: timeout=5, max=100

只是以防万一,需要把这考虑到你的项目。

学分:https://stackoverflow.com/a/20932511/4357238

就我所知,当我看这个问题的时候

它说:“在PHP中,头输出有明显的区别。在下面的例子中,我选择使用不同的头文件,但为了显示exit()和die()之间的差异,这无关紧要”,并测试(个人)

https://3v4l.org的输出说明die和exit在功能上是相同的。

我至少在脚本中注意到,exit()将停止当前执行的脚本,并将控制传递回任何调用脚本,而die将停止php的运行。我想说这是一个很大的不同?

这个页面说die是一个退出,所以它们是相同的。但也解释了:

有些函数因为API清理或其他原因更改了名称,旧的名称仅作为向后兼容的别名保留。使用这类别名通常不是一个好主意,因为它们可能会过时或重命名,这将导致不可移植的脚本。

所以,你可以说我是偏执狂,但未来可能不会有死亡。