因此,首先我知道使用 memcache 或数据库是更好的选择。但我(目前)已经创建了一个负载平衡环境,其中有一个共享的 PHP 会话文件存储。现在一些客户声称他们遇到了一些问题,我不确定这是否与会话存储有关。
我的问题是 - PHP 如何处理共享的 php 会话文件存储?它们所给出的会话 ID 是否存在问题?(因为有 3-4 台 Apache2/PHP 机器在运行创建会话)当它们被标记为垃圾时如何清理?一台 apache2/PHP 机器是否可以“意外”删除尚未打算删除的会话?所有机器都有相同的“标记为垃圾”超时。并且它们都运行相同的 PHP 会话清理 cronjob。
/罗尼
答案1
PHP 没有实现“共享的 php 会话文件存储”?您的意思是将会话文件保存在网络文件系统上吗?还是其他什么?默认处理程序使用文件修改时间来确定会话的上次访问时间。只要时钟几乎同步(尽管运行 ntpd 更有意义)并且两者都使用 UTC 作为硬件时钟,那么就不会产生混淆。
BTW NFS 文件锁定糟透了。