PHP的警告权限被拒绝(13)on session_start()
可能重复:
我打电话给session_start()时如何解决Permission错误?
我收到以下错误:
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
问题不是一直发生,而是来来往往。
这个代码在ss.inc.php中的第一行
<?php session_start(); ?>
您似乎没有对服务器上的/tmp
目录的写入权限。 这有点奇怪,但你可以解决它。 在调用session_start()
之前 ,调用session_save_path()
并为其指定服务器可写的目录名称。 细节在这里 。
做一个phpinfo(),并寻找session.save_path。 那么该目录需要具有用于您的Web服务器运行的用户和/或组的正确权限
看起来你在/tmp
上没有WRITE权限。
使用函数session_save_path()将configurationvariablessession.save_path编辑到public_html
上方的1个目录 (这样外部用户将不会访问信息)。
我以前有过这个问题,你需要比标准的755
或644
权限来存储$_SESSION
信息。 您需要能够写入该文件,因为它是如何记住的。
PHP没有写入/ tmp目录的权限。 您需要使用chmod
命令打开/ tmp权限。