基于PHP或PHP的Web框架是有状态还是无状态?

ace*_*ace 5 php lift playframework

与java中心应用程序一样,Play框架是无状态的,并且提升框架是有状态的,就像任何servlet或Java EE容器一样,如Tomcat或GlassFish是statefull,是PHP web框架,如zend或cake php无状态或有状态,为什么?

dec*_*eze 13

PHP本身没有状态.每个请求都是完全独特的.在这方面,它非常接近HTTP的裸机.

要在此基础上实现状态,您可以使用会话,数据库,共享内存,文件或以某种方式保留状态的任何其他内容.像Zend或Cake这样的框架为这些机制提供了抽象,使得它在不同程度上看起来很有条理.PHP永远不会真正保持状态.


小智 6

这不仅仅是关于 Java 或 PHP。HTTP 是一种无状态协议。

为了使其有状态,开发人员(程序员)必须确保存储所有相关信息,并确保在调用脚本时读回所有相关信息。

大多数服务器为统计管理提供会话管理。

至于为什么无状态 - 有状态会话会增加显着的内存和性能开销,请参阅:

模型与持久状态之间的 http 请求