4
A
回答
6
它是一個很好的問題,目前我唯一有此想法:註冊一個關機功能是這樣的:
function shutdown() {
if (defined('END_REACHED') {
echo 'Script executed with no error', PHP_EOL;
}
}
register_shutdown_function('shutdown');
隨着auto_append_file
添加一個額外的文件,每一個腳本執行的最末端,其設置一個常數。
你auto_append_file.php內容:
define('END_REACHED', TRUE);
如果你不想編輯你可以做的php.ini檢查您的註冊關機功能error_get_last()
或$php_errormsg
!
0
有很多原因腳本可能提前終止。沒有通用的解決方案。導致腳本過早終止的唯一錯誤是致命錯誤 - 在大多數情況下,關閉函數在致命錯誤後不會運行,類似地,自定義錯誤處理程序只會可靠地看到非致命錯誤。然後可以選擇設置信號處理程序 - 但他們只能看到一些故事。
當然最大的問題是你想在做什麼這個信息在關機功能中?
的唯一可靠的方法來確定你的邏輯完成預期的是提高信號發生這種情況時,並檢查它在關機功能。
0
我移植(對於PHP 5.3),它很好地處理這個ezcExecution組件。見https://github.com/sobstel/Execution。基本上你需要通知lib出口是乾淨的(通過調用Execution :: cleanExit()。否則就意味着退出並不乾淨)簡單。
1
調用error_get_last()
可以告訴你是否發生了錯誤。該函數返回NULL
,這是一個乾淨的關閉。
相關問題
- 1. 如何檢查是否餅乾在PHP
- 2. 如何從node.js乾淨地關閉mongodb?
- 3. 如何幹淨地關閉AsynchronousSocketChannel?
- 4. 如何幹淨地關閉mesos-slave?
- 5. 如何使用pysvn檢查工作副本是否乾淨?
- 6. Java - 如何檢查JFrame是否關閉
- 7. 如何檢查Dialog是否關閉?
- 8. 如何檢查OutputStream是否關閉
- 9. 如何檢查zipfile是否已關閉
- 10. 如何檢查遊戲是否關閉?
- 11. 如何檢查QWidget是否關閉?
- 12. 檢查git狀態在Powershell腳本中是否乾淨
- 13. PHP如何檢查MySQLi查詢是否需要關閉?
- 14. 檢查UIBezierPath是否關閉
- 15. 如何在Spring Rabbit中乾淨地關閉RabbitTemplate?
- 16. PHP乾淨URL(.htaccess)是否捲曲
- 17. 檢查NSButton在drawRect上是否關閉
- 18. 如何檢查函數是否存在?
- 19. 如何檢查是否在Python中關閉了MySQL連接?
- 20. 在OpenOffice中,如何檢查我的XComponentContext是否已關閉?
- 21. 如何檢查端口465是否在cpanel中關閉?
- 22. 如何在java連接池中檢查連接是否關閉
- 23. 如何檢查應用程序是否已在android中關閉?
- 24. 如何檢查用戶單擊NSButton時Option鍵是否關閉
- 25. 乾淨地關閉rmi服務器
- 26. 扭曲,等到連接關閉乾淨
- 27. 檢查數據庫連接是否已關閉 - php
- 28. 套接字描述符是否由函數exit(退出代碼)關閉?
- 29. 檢查用戶是否關閉了PHP中的頁面?
你是什麼意思「退出是乾淨的」? –
「乾淨的退出」你的意思是關閉功能應該檢查腳本是否結束,因爲它達到了的代碼,而不是因爲它遇到了一個錯誤? –
有趣的是,我打打鬧鬧試圖拿出東西來回答這個神祕的問題,我發現'debug_backtrace()'不會調用時跟蹤超出註冊關機功能在它之內。 – Dan