Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP会话_write_close()在NGINX中不工作_Php_Http_Session_Nginx_Webserver - Fatal编程技术网

PHP会话_write_close()在NGINX中不工作

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下运行,那么我会检查/

在Nginx上运行session\u write\u close()时遇到问题,它没有效果

当我访问需要很长时间才能完成的资源时,应用程序的其他页面将被阻止,等待第一个页面完成

我将我的应用程序从Apache迁移到了Nginx,在Apache中它工作正常

Nginx或Apache日志中未显示任何信息。有人知道为什么会这样吗


致以最良好的祝愿。

我在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容器上运行了一个测试,它成功了,我不知道问题的根源。老实说,我真的不知道为什么会发生这种情况