微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP各进程,请求与内存之间的关系

PHP静态方法是什么时候开始占用内存呢?

当你把这个类require或include进去的时候

不同PHP进程会共用静态方法吗?

首先,进程是系统进行资源分配和调度的基本单位,所以执行每个PHP脚本的PHP-fpm进程所使用的内存是互相隔离的

其次,PHP脚本的生命周期是在脚本执行完毕结束,脚本所占用的内存一般会被回收

因此,不同PHP进程会一般情况下不会共用静态方法

总结:

       PHP各进程间内存是共用的,每个进程中的全局变量,局部变量,静态变量,静态方法,单例等都只作用于当前进程,该进程结束后所有内存都会被销毁回收,新的请求来后,重新分配进程内存,内存中的变量,方法及单例等全部重新初始化.

       PHP各进程间不能共享内存,每次新的请求进来,都要重新初始化变量等,导致额外的性能消耗,这块确实是PHP的短板,也是PHP的瓶颈所在,不过出现了swoole,该线程是异步非阻塞,如同java的线程池,性能是否高效还没有亲自验证.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐