PHP Warning Permission denied (13) on session_start()
PhpSessionWarningsPhp Problem Overview
I'm getting the following error:
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
The problem doesn't happen all the time, but comes and goes.
This the code at line on 1 in ss.inc.php
<?php session_start(); ?>
Php Solutions
Solution 1 - Php
You don't appear to have write permission to the /tmp
directory on your server. This is a bit weird, but you can work around it. Before the call to session_start()
put in a call to session_save_path()
and give it the name of a directory writable by the server. Details are here.
Solution 2 - Php
Do a phpinfo()
, and look for session.save_path
. The directory there needs to have the correct permissions for the user and/or group that your webserver runs as.
Solution 3 - Php
I have had this issue before, you need more than the standard 755
or 644
permission to store the $_SESSION
information. You need to be able to write to that file as that is how it remembers.
Solution 4 - Php
It seems that you don't have WRITE permission on /tmp
.
Edit the configuration variable session.save_path
with the function session_save_path()
to 1 directory above public_html
(so external users wouldn't access the info).
Solution 5 - Php
PHP does not have permission to write on /tmp
directory. You need to use chmod
command to open /tmp
permissions.