php的单例是否能存留到第二个请求发送的时候呢
程序员文章站
2022-04-28 12:05:33
...
请问下PHP单例的生命周期是怎么样的呢?
比如我在第一个请求中取得一个单例,然后对其中变量$a进行赋值。这样在第二个请求的时候,是否可以取得这个$a变量?
关于这方面的知识,有经验的亲们,有什么优秀的博文或者书籍推荐学习的吗,多谢了?
比如我在第一个请求中取得一个单例,然后对其中变量$a进行赋值。这样在第二个请求的时候,是否可以取得这个$a变量?
关于这方面的知识,有经验的亲们,有什么优秀的博文或者书籍推荐学习的吗,多谢了?
回复内容:
请问下PHP单例的生命周期是怎么样的呢?
比如我在第一个请求中取得一个单例,然后对其中变量$a进行赋值。这样在第二个请求的时候,是否可以取得这个$a变量?
关于这方面的知识,有经验的亲们,有什么优秀的博文或者书籍推荐学习的吗,多谢了?
不可能,php是单进程单线程的
答案是不会,因为脚本结束的时候所有变量都已经释放了.
我觉得你需要了解下php的生命周期
1. PHP是随着WEB服务器(apache)的启动而运行的;
2. PHP通过mod_php5.so()模块和服务器(apache)相连
3. PHP总共有三个模块:内核、Zend引擎、以及扩展层;
4. PHP内核用来处理请求、文件流、错误处理等相关操作;
5. Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;
6. 扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要MySQL扩展来连接MySQL数据库;
7. 当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;
8. 最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上。
下一篇: php-PHP释放资源型数据类型的问题