I'm trying to initialize a session but i get this error:
Warning: session_start() [function.session-start]: open(/tmp/sess_7af3ee9ec1350680bedcf63833d160bd, O_RDWR) failed: Permission denied (13)
The session.path is set to /tmp with 777 perms.
I try to edit the session.path to "0;777;/tmp" but the session files are created with the wrong permissions(only write).
I'm using PHP 5.2 on apache2 and ubuntu 9.10.
Any ideas?
Please verify that the permissions of /tmp really are xx777
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$s = stat('/tmp');
printf('%o', $s[2]);
file_put_contents('/tmp/phptest1234.txt', 'test');
unlink('/tmp/phptest1234.txt');
edit: next try, umask
<?php
echo ' php-umask: ', sprintf('%o', umask()), "\n";
echo ' exec-umask: ', exec('umask'), "\n";
It seems like you do not have permissions to write to the tmp
directory, you need to give it permissions to save a file.
I had this problem, as well. There was a line in /etc/sysconfig/httpd that was setting the umask improperly, so I commented it out:
#umask 644
All is well now.
I resolve the problem, there was a third party library that sets wrong umask to 777, by deleting it the problem was solved. Thanks for answers.