当保存路径为subdir时,php-stat_session没有此类文件错误


php stat_session no such file error when save path is subdir

非常奇怪的错误:

我的/tmp目录为root:root所有,模式为777然后进入它,就有了/tmp/php相同的所有者,相同的模式。

当我设置session.save_path = "/tmp"时,一切都很好,

但是当我设置session.save_path = "/tmp/php"时,我在phpmyadmin:中得到了这个错误

Warning in ./libraries/session.inc.php#101
session_start(): open(/tmp/php/sess_ebaq353ndgtiiljg2ifqe6oes1r5ljar, O_RDWR) failed: No such file or directory (2)
Backtrace
./libraries/session.inc.php#101: session_start()
./libraries/common.inc.php#352: require(./libraries/session.inc.php)
./index.php#12: require_once(./libraries/common.inc.php)

我是不是错过了什么?

首先,确保重新启动web服务器。

此外,/tmp/并不总是指目录/tmp/。检查/var/tmp//var/php_sessions//tmp/private/,并尝试将php目录放入其中。

我不太熟悉nginx-php-fpm池,但听起来它可能有自己的设置。请参阅本页并查找有关php_admin_value[session.save_path]的部分。

最后,您可以反向解决此问题-您可以使用find查看会话文件的存储位置:find / -name 'sess_*'

这将在硬盘驱动器卷中搜索会话文件,然后您可以在配置中搜索tmp文件路径,以查看是什么设置了意外的/tmp目录。