session_start()上的PHP警告权限被拒绝(13)

Bas*_*dge 47 php session warnings

可能重复:
如何在调用session_start()时修复权限错误?

我收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

问题不是一直发生,而是来来去去.

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

<?php session_start(); ?>
Run Code Online (Sandbox Code Playgroud)

Pet*_*ell 78

您似乎没有/tmp对服务器上的目录具有写入权限.这有点奇怪,但你可以解决它.调用之前调用并session_start()为其session_save_path()提供服务器可写入的目录的名称.细节在这里.

  • ini_set('session.save_path',getcwd().'/'); 在session_start(); (3认同)
  • 我的问题很相似,但是"会话"路径的权限不正确.(CentOS 6.6上的/ var/lib/php/session)我只是运行"sudo chown root:nginx session",错误就消失了. (3认同)
  • 或PHP的session.save_path未配置为/ tmp。它可能需要更改session.save_path,例如`session_save_path(“ / tmp”);`。 (2认同)

mar*_*log 15

做一个phpinfo(),并查找session.save_path.该目录需要具有您的Web服务器运行的用户和/或组的正确权限


Phi*_*hil 5

我以前遇到过这个问题,您需要的不仅仅是存储信息的标准755644权限$_SESSION。您需要能够写入该文件,因为它是这样记住的。