会话_start()上的PHP警告权限被拒绝(13)

会话_start()上的PHP警告权限被拒绝(13),php,session,warnings,Php,Session,Warnings,可能重复: 我得到以下错误: PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_49a20cbe1ef09a2d0262b3f7eb842e7b, O_RDWR) failed: Permission denied (13) in /home/------/public_html/includes/libs

可能重复:

我得到以下错误:

PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_49a20cbe1ef09a2d0262b3f7eb842e7b, O_RDWR) failed: Permission denied (13) in /home/------/public_html/includes/libs/ss.inc.php on line 1
PHP警告:session_start()[]:打开(/tmp/sess_49a20cbe1ef09a2d0262b3f7eb842e7b,O_RDWR)失败:第1行/home/----/public_html/includes/libs/ss.inc.PHP中的权限被拒绝(13)
问题并非总是发生,而是来了又去

这是ss.inc.php中第1行的代码

<?php session_start(); ?>


您似乎没有对服务器上的
/tmp
目录的写入权限。这有点奇怪,但你可以解决它。在调用
session\u start()
之前,先调用
session\u save\u path()
并为其提供可由服务器写入的目录名

PHP没有在/tmp目录上写入的权限。您需要使用
chmod
命令打开/tmp权限。

执行phpinfo(),并查找session.save\u路径。那里的目录需要对您的Web服务器所运行的用户和/或组具有正确的权限

我以前遇到过这个问题,您需要超过标准的
755
644
权限来存储
$\u会话
信息。您需要能够写入该文件,因为它是这样记住的。

您似乎没有
/tmp
的写入权限


使用函数编辑配置变量至上面的1目录
public\u html
(这样外部用户就不会访问该信息)。

看起来您没有站点上/tmp目录的写入权限。您是否与其他人共享系统?如果我有猜测,我会说
/tmp
目录有时已满。您可以更改存储会话的路径,看起来您没有读取文件的权限,ls-al说了什么?您使用的是哪种服务器?您的www用户似乎没有写入
/tmp
的权限,如果您有权限,您的主机可能会故意设置该权限。您可能需要向web主机发送一封电子邮件来解决此问题,除非您可以
chmod
yourself我通过从/temp文件夹中删除文件“sess_e8vjrvit9duq61r9inj1of285”来解决此问题,因此它会创建一个具有权限的新会话。这可能是因为您卸载并安装了apache或其他东西,至少我是这样解决的。或者PHP的session.save_路径未配置为/tmp。它可能需要更改session.save_路径,例如,
session_save_路径(“/tmp”)
.ini_set('session.save_path',getcwd()./');会话_start();我的问题与此类似,但“会话”路径的权限不正确。(CentOS 6.6上的/var/lib/php/session)我只是简单地运行了“sudo chown root:nginx session”,错误就消失了。