PHP会话_write_close()在NGINX中不工作
在Nginx上运行session\u write\u close()时遇到问题,它没有效果 当我访问需要很长时间才能完成的资源时,应用程序的其他页面将被阻止,等待第一个页面完成 我将我的应用程序从Apache迁移到了Nginx,在Apache中它工作正常 Nginx或Apache日志中未显示任何信息。有人知道为什么会这样吗PHP会话_write_close()在NGINX中不工作,php,http,session,nginx,webserver,Php,Http,Session,Nginx,Webserver,在Nginx上运行session\u write\u close()时遇到问题,它没有效果 当我访问需要很长时间才能完成的资源时,应用程序的其他页面将被阻止,等待第一个页面完成 我将我的应用程序从Apache迁移到了Nginx,在Apache中它工作正常 Nginx或Apache日志中未显示任何信息。有人知道为什么会这样吗 致以最良好的祝愿。我在PHP7和Nginx方面也有同样的经历。您可以更改缓存,使用memchached或redis 假设nginx默认在用户名nginx下运行,那么我会检查/
致以最良好的祝愿。我在PHP7和Nginx方面也有同样的经历。您可以更改缓存,使用memchached或redis 假设nginx默认在用户名nginx下运行,那么我会检查/var/lib/php/session foder,看看它是否拥有适当的所有权。如果从apache切换,则该文件夹要么没有任何人,要么拥有www数据所有权(用户/组)。所以做一个
ls-lsa/var/lib/php/session
,看看谁拥有这个文件夹,然后做一个chownnginx:nginx/var/lib/php/session-R
。然后再试一次,看看它是否有效。你的php版本是什么?你好,马文!我的PHP版本是7.2.7,那么这是PHP7的问题吗?你试过其他版本吗?你好Bogdan!我检查了会话文件夹是否不存在。。。因此,我将session.save_path属性修改为/tmp,该属性具有执行测试的完全权限(777)。尽管问题仍然存在,但我发现PHP可以正常地将会话文件写入/tmp文件夹,但是session_write_close()方法根本没有效果。在Windows上,我也遇到了同样的问题。即使以管理员身份运行nginx.exe和php-cgi.exe。。。我在Docker的Ubuntu容器上运行了一个测试,它成功了,我不知道问题的根源。老实说,我真的不知道为什么会发生这种情况