Maison > développement back-end > tutoriel php > php静态方法什么时候开始占用内存呢?不同php进程会共用静态方法吗?

php静态方法什么时候开始占用内存呢?不同php进程会共用静态方法吗?

WBOY
Libérer: 2016-09-15 11:15:07
original
1592 Les gens l'ont consulté

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

比如一个类

<code>class Test {
    public static function test1(){}
    public static function test2(){}
    ...
}
</code>
Copier après la connexion

我考虑了如下几个情况:

  1. 在执行php代码的时候,就扫描静态方法,不管有没有include., 效率太低应该不会使用。

  2. 在我include 'Test.php'的时候,会不会扫描类,把静态方法,加载进内存。这时候的话,应该就把所有方法都加载进内存了。

  3. 假如2不成立,则是否在调用方法Test::test1();的时候,加载进内存,如果这时候加载的话,是仅加载当前方法,还是加载当前类所有的静态方法?


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

如下图

php静态方法什么时候开始占用内存呢?不同php进程会共用静态方法吗?

这里有位大神说了下Nginx和Php-fpm进程和线程:https://segmentfault.com/q/10...

如果是这样的话,一个Php-fpm进程服务一个客户端,但是如果并发太高,不会有很多进程吗?按照进程通信来讲,不同客户端的请求,属于不同的进程,应该不会互相影响,应该进程所占内存中都有一份静态方法的缓存,但是如果一个客户端有多次请求的话,看文章说是阻塞的单线程模型,那应该每次请求都要等上次请求完成才开始执行,是否这时候会清楚静态方法的缓存,还是继续保存?如果清除的话,应该就不会共用静态方法了。

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal