2011-08-29 62 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