后台PHP进程的多版本框架可重入方法总结 |
发布: 2012-12-30 12:46 |
PHP一般用于web 开发,执行一次结束,而对后台PHP进程相关机制的支持不是太好。 由于系统需要的原因,对它的这种后台运行方式考虑了一段时间,总结出几种方法, *)使用启动新进程的方法,可以完全启动一个新的PHP运行环境 *)使用PHP 的 runkit扩展,在当前的进程中生成一个全新的PHP虚拟运行环境 *)使用pcntl_fork方式生成一个新进程,这个进程与执行fork时的父进程相同,但之后的环境是全新的。 但是这三种都各有优点与不足的地方, 第一种,效率上可能是问题,再有是难以控制 第二种,这个扩展的稳定性还有待测试,效率上不太好说,也类似创建一个新的虚拟机支持环境 第三种,这个对新生的进程有影响,不是完全全新的PHP运行环境。 这个问题的来源在于,对于使用include*,require*引入的文件中包含的类和函数,都是全局有效的。 在使用多版本的框架后,第一次加载的框架版本会影响后续的执行代码所引用的框架版本,必然会导致后续代码的执行结果。 |
原文: http://qtchina.tk/?q=node/706 |
Powered by zexport
|