非常奇怪的错误:
我的/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目录。