簡體   English   中英

不要回復PHP中的請求

[英]Do not respond to a request in PHP

我知道我可以通過調用exit或die來中止PHP中的腳本。 但是,我不僅希望停止執行腳本,而且甚至不發送對某些請求的響應(導致客戶端超時)。

如果有人能告訴我怎么做,我真的很感激。 謝謝!

編輯:對不起,我不能更具體地說明為什么我這樣做,但我不能因為項目的性質。 我要說的是我正在處理一個機器人。

客戶端超時? 可能你想結束用戶的會話,所以你可以在dieexit腳本之前簡單地使用session_destroy()

同樣奇怪的是,不是通過通知重定向用戶,而是結束了不友好的腳本執行。 如果你願意,你可以使用header()將用戶重定向到某個頁面,這可能會讓他知道他做了什么或者為什么要阻止/重定向。

客戶端超時意味着您發出ajax請求但服務器響應時間過長。 如果你真的想要完成這個,我想方法就是放一個大的sleep()語句,這樣ajax頁面就不會響應而且會超時。 但是,我不能強調這是不是這樣做的方式,實際上是它邀請未來的災難。

理想情況下,您應該將特定響應發送回客戶端,例如空白,或“0”或“NULL”,然后在客戶端代碼中將該響應視為無響應。

如果您無法控制客戶端代碼,例如機器人,我會選擇Mark Ba​​ker的評論並說發送444或者如果您感覺好笑,418響應:)

這篇文章解釋了如何使用PHP發送HTTP響應代碼。

有同樣的問題。 需要不回應,沒有,只是停下來。 什么都沒找到,並使用:

posix_kill(posix_getpid(), 9);

它只是殺死php進程。 不是上帝的解決方案,但對我有用

問題是,當PHP執行時,它總是生成一個響應...甚至echo ''將被發回。

執行此操作的最佳方法是使腳本崩潰,我認為......

只需執行以下操作: $pdo = new PDO('unexisting_server'); 沒有嘗試catch塊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM