2011-08-29 66 views
2

PHP終於是starting to getFastCGI implementations。 (不要與通常與Nginx的使用PHP-FPM或PHP process啓動腳本混淆 - 想node.js爲PHP如何爲持久化PHP FastCGI流程設計應用程序?

你如何使用這些新的異步模式開闢

例如,通常,如果設計的應用程序?但是,如果你有一個(幾乎)無休止的守護進程在運行,那麼你如何處理錯誤,同時結束當前請求並移動到接下來的?你不能繼續你正在做的事情(因爲錯誤) - 但你不能在不殺死進程的情況下退出。

+0

http://simas.posterous.com/writing-a-php-daemon-application – Xeoncross

+0

如果您編寫代碼,您可以捕獲錯誤並記錄下來,然後繼續操作。 – dqhendricks

+0

@dqhendricks,如果你剛遇到一個數據庫異常 - 怎麼做***你只是登錄並繼續?完成錯誤處理後,PHP將直接返回到發生錯誤之前的位置,並嘗試運行其餘代碼。 – Xeoncross

回答

3

例如...

while(1) { 
    try { 
     something(); 
    catch (Exception) { 
     log(); 
    } 
} 

你可以把三頁代碼放在something()中。如果在該代碼的任何地方發生錯誤,您可以直接跳到循環的下一個迭代,而不是繼續進行當前迭代。

+0

你完全正確!對不起@dqhendricks,這是一個漫長的一天,我很難思考。如果我將整個應用程序包裝在「try {} catch」塊中,則不會有任何問題。完善。 – Xeoncross