3 回答

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
我也一直在尋找答案。我發(fā)現(xiàn):
為什么死()或退出():
如果您未header('Location: http://something')在腳本后放置die()或exit(),則腳本可能會(huì)繼續(xù)導(dǎo)致意外行為。例如,這可能會(huì)導(dǎo)致泄露您實(shí)際上想要通過重定向(HTTP 301)阻止的內(nèi)容。最終用戶可能無法直接看到上述內(nèi)容,因?yàn)闉g覽器可能無法呈現(xiàn)(由于301)。結(jié)論,exit()和die()函數(shù)可阻止腳本繼續(xù)運(yùn)行。
區(qū)別:
我還想知道函數(shù)之間的區(qū)別,因?yàn)樗坪鯖]有區(qū)別。但是,在PHP中,Header輸出有明顯的不同。在下面的示例中,我選擇使用其他標(biāo)頭,但為了顯示出exit()和die()之間的區(qū)別并不重要。
Exit()的作用
<?php
header('HTTP/1.1 304 Not Modified');
exit();
?>
結(jié)果是:
HTTP/1.1 304 Not Modified
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Die()在行動(dòng)
<?php
header('HTTP/1.1 304 Not Modified');
die();
?>
結(jié)果是:
HTTP/1.1 304 Not Modified
Connection: close
區(qū)別
因此,die()關(guān)閉連接,而exit()沒有關(guān)閉。是否要保持打開或關(guān)閉連接取決于性能。兩者都有優(yōu)點(diǎn)和缺點(diǎn),并取決于您的特定要求。
- 3 回答
- 0 關(guān)注
- 511 瀏覽
添加回答
舉報(bào)