PHP oturum izni sorunu

4 Cevap php

Hi
I'm trying to initialize a session but i get this error:

Uyarı: session_start () [function.session-start]: open (/ tmp/sess_7af3ee9ec1350680bedcf63833d160bd, O_RDWR) failed: Permission denied (13)

Session.path 777 Perma ile / tmp ayarlanır.

"; 777 ;/ tmp 0" ama oturum dosyaları yanlış izinler (sadece yazma) ile oluşturulan ben session.path düzenlemek deneyin.

I'm using PHP 5.2 on apache2 and ubuntu 9.10. Any ideas?

4 Cevap

Tmp / izinleri gerçekten xx777 olduğunu doğrulayın

<?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: sonraki try umask

<?php
echo ' php-umask: ', sprintf('%o', umask()), "\n";
echo ' exec-umask: ', exec('umask'), "\n";

Eğer izinleri tmp dizinine yazma yok gibi görünüyor, bunu bir dosyayı kaydetmek için izinleri vermek gerekir.

Ben sorunu çözmek, bu sorun çözüldü silerek, 777 yanlış izin maskesini ayarlar üçüncü parti bir kütüphane vardı. Cevaplar için teşekkürler.

Ben de, bu sorunu vardı. Orada yanlış umask batıyordu sysconfig / httpd / etc / bir çizgi vardı, bu yüzden ben onu yorumladı:

#umask 644

Tüm şimdi iyi.