php是对进程一个一个处理,还是多进程处理,如果是多进程,那进程安全吗?fastcgi模式下为什么快

解决方案 »

  1.   

    啥叫Php对进程处理。php解释器是一个进程,解释执行一个PHP脚本,然后销毁掉进程。多进程当然安全,又不共享东西,共享的也加锁了。fastcgi是因为PHP解释器作为服务端程序监听网络连接,不再频繁创建与销毁了。
      

  2.   

    一个进程对应一个PHP解释器。php-fpm就是一款进程管理器,启动时初始化N个进程(默认为10个好像),然后这N个进程就负责脚本的处理,除非php-fpm重启或停止,这N个进程将一直活着,处理完一个请求后等待php-fpm分配下一个请求,省去了频繁进行进程销毁和创建的开销
      

  3.   


    我想设计一个数据库管理类,想把它设计成单例的,我看到很多开源的都是 new DB,每请求一次就创建一个,java当中的要加锁,所以怀疑了
      

  4.   

    那fastcgi环境下是否需要考虑安全问题,它没有销毁进程?
    如果是的话,php对象都可以设计成单例的了。
      

  5.   

    单例是掩耳盗铃,一个fcgi进程只能执行一个脚本, 你的单例是多进程间的, 没法共享, 何来单例。