不,它不会像Java Servlets一样工作.你必须找到一个解决方法.
首先,我假设使用$ _SESSION,$ _COOKIE或$ _REQUEST通常对您不可行,因为您希望保存每个服务器(或每个应用程序)的状态,而不是每个'用户会话'.
在您的情况下使用数据库听起来很实用.在常规应用程序设计中,它将是最常见的解决方案.
你也可以使用PHP的序列化功能做这样的事情:
<?php
$resultfile = 'result.dat';
if(!file_exists($resultfile)) {
$result = compute_result('foo bar');
file_put_contents($resultfile, serialize($result));
} else {
$result = unserialize(file_get_contents($resultfile));
}
Run Code Online (Sandbox Code Playgroud)
使用PHP的serialize()
尝试特别实用
$result
是一个复杂的数据类型,但您不想创建数据库结构并映射$ result如果您不在仅PHP环境中,则可能更喜欢其他序列化格式,如JSON或XML.
序列化结果也可以作为字符串存储在数据库中而不是文件中.将其保存到数据库而不是文件将使应用程序更具可伸缩性,因为访问同一数据库(集群)的所有服务器都可以使用该结果.
简而言之:我建议使用数据库可能与序列化相结合.