我在Symfony上遇到了一个奇怪的问题:有时候用户无法加载网页,直到我重新启动php-fpm或者他更改了
同时,我从PHP收到了2个警告:
PHP Warning: session_start(): Session object destruction failed in /home/unix/releases/1/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php on line 145
PHP Warning: session_start(): Failed to decode session object. Session has been destroyed in /home/unix/releases/1/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php on line 145
需要注意的是,我们谈论的是一个私人网站,最多只有2-3个用户同时使用,但即使只有1个用户在浏览也可能发生这种情况。
当前设置为:
Debian 9.4 stretch 4.14.0-0.bpo.3-amd64 php-fpm 7.1.15
Symfony 3.4.4
我可以使用apache ab并发调用不同的URL,使用相同的会话ID来重现此问题。当然,在N请求后我会超时。
PHPSESSID
加载新的会话。然而,重启fpm后他的会话仍然正常工作。同时,我从PHP收到了2个警告:
PHP Warning: session_start(): Session object destruction failed in /home/unix/releases/1/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php on line 145
PHP Warning: session_start(): Failed to decode session object. Session has been destroyed in /home/unix/releases/1/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php on line 145
需要注意的是,我们谈论的是一个私人网站,最多只有2-3个用户同时使用,但即使只有1个用户在浏览也可能发生这种情况。
当前设置为:
Debian 9.4 stretch 4.14.0-0.bpo.3-amd64 php-fpm 7.1.15
Symfony 3.4.4
我可以使用apache ab并发调用不同的URL,使用相同的会话ID来重现此问题。当然,在N请求后我会超时。
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
apr_pollset_poll: The timeout specified has expired (70007)
Total of 872 requests completed
我现在正在尝试检查 PHP 配置,但实际上它是相当“正常”的,没有特殊设置,所以我不知道应该尝试或检查什么。有什么想法吗?
session.auto_start
里设置了什么? - Evgeny Ruban