0
不幸的是,在php-fpm/nginx配置上調用php exit()
不會立即停止腳本,而文件句柄可能沒有關閉。如何停止在php-fpm/nginx上執行php腳本?
有些開發者建議調用fastcgi_finish_request()
,但這也不會停止腳本。
其他建議包裝所有的代碼在catch塊:
<?php
class SystemExit extends Exception {}
try {
/* PUT ALL THE CODE HERE */
} catch (SystemExit $e) { /* do nothing */ }
?>
和投擲在需要的代碼停止異常:
if (SOME_EXIT_CONDITION)
throw new SystemExit(); // instead of exit()
這意味着編輯所有的PHP文件包含的try/catch對我來說似乎很乏味。
有沒有其他的清潔解決方案?
'exit'適合我。你的情況究竟發生了什麼? – ksimka
嘗試以下代碼:'echo「您必須等待10秒才能看到此內容。」
「; register_shutdown_function( '關斷');出口; function shutdown(){sleep(10); echo「因爲exit()不立即終止php-fpm調用。」
「; '' –