我记得在php.net上阅读过(尽管不幸的是似乎找不到该页面),PHP 解释器可以以不同的方式运行 - 最常见的是,每次请求页面时,都会创建 PHP 解释器的一个实例,运行它当然,然后与与该特定页面调用相关的所有内存一起被销毁。显然,也可以让所有内存留存下来,以便在以后的页面调用中再次使用它;据我了解,本质上允许多个不同的 PHP 脚本访问和修改相同的对象,而不会在脚本完成后丢失它们。
或者至少,我记得。有没有道理呢?如果是这样,我将如何设置它?
php 不能那样工作。它关于运行和忘记。
您可以使用用户级共享内存扩展在请求之间保存数据,例如:apc、xcache、memcached 等。
或在调用 session_start 后使用会话数据数组
$_SESSION
不要把 php 脚本想成像 tomcat 中的 java 应用程序。标准 php 不是为该用例设计的。php 编译器即时工作。
您可以将共享内存用于您想要的一些东西,但 Redis/Memcache 可能是更好的选择。
让服务器停留在请求之间,对象也会这样做:
使用编写良好的应用程序可以为您提供比 APC 更快的速度,但是如果您需要放置多个盒子(您仍然可以使用粘性会话),它不会在用户之间扩展。