2013-10-03 79 views
0

我有一个WordPress的网站设置,并最近开始接收下面的页脚底部的PHP警告。WordPress的PHP会话错误

Warning: Unknown: open(/tmp/sess_ae2e58214af1e2f1d14b233cb766e105, O_RDWR) failed: Permission denied (13) in Unknown on line 0 

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct() in Unknown on line 0 

这是我所知道的。我使用MAMP在本地主机上创建了一个Wordpress站点,并将本地数据库复制到生产环境。

编辑:此问题不能被忠实地复制。有一次,警告只出现在Chrome中,目前它们显示的是Safri,但不是同时在两个浏览器中显示。我已验证服务器根目录下的/tmp/文件夹是可写入的。

HOSTTING UPDATE:托管公司报告存在来自类似用户名的冲突会话文件(我们设置的所有wordpress安装都有一个“Admin”用户)。

建议的解决方案是让每个安装写会话 文件到自己的directroy的FTP内该站点,而不是到 根服务器。

任何帮助表示赞赏。

+0

该错误无关,与你的浏览器,一切都与服务器配置。 –

+0

我确信情况确实如此。我不确定为什么警告只会在Chrome中显示出来。我猜测这是本地主机设置和生产环境之间的差异,但我不知道要在哪里解决此问题。 – MagRat

回答

0

检查您的生产环境/ tmp /文件夹的权限或要求您的托管coy获取更多详细信息。

+0

我在Wordpress安装中看不到_/tmp/_文件夹。这是FTP根目录下的_/tmp/_文件夹吗? – MagRat

+0

没有这个文件夹将不会在wordpress安装。/tmp /文件夹是存储所有会话数据的文件夹。这是你无法通过FTP访问的东西。如果您没有shell访问权限,请让您的托管公司将文件夹设为可写,并尝试检查您的服务器配置。 –

+0

我们检查了服务器根目录下的_/tmp/_文件,并验证该目录是可写的。 – MagRat

0

启动会议之前,请检查会话的文件是可写的,如果没有,删除cookie:

session_save_path("/tmp"); 
if (isset($_COOKIE[session_name()])) { 
    if(!is_writable("/tmp/sess_".$_COOKIE[session_name()])) { 
     setcookie(session_name(), '', time()-42000, '/'); 
     header("Location: ./"); 
    } 
} 
session_start();