2009-10-20 3 views
1

У меня есть проблема с моими сессией файлами ...Php сессия файлы имеют разные владелец

если я иду на мой сайт непосредственно (www.example.com), то владелец PHP файлов сеансы является WWW-данные: www- но если я иду на сайт www.example.com/index.php, то владельцем файлов сеансов является ftp: www-data, и в результате возникает проблема, когда я хочу начать сеанс, но файл сеанса allready существует, но наличие другого владельца php не может открыть файл сеанса для записи.

я там работает апач + php5

+2

Звучит как проблема конфигурации apache. Я бы добавил тег apache. –

+0

@Kevin, хороший вызов добавил тег apache для него;) –

+0

проблема в том, что я не могу найти никаких проблем с моим конфигурационным файлом apache ... и это настоящая проблема :) – Gabriel

ответ

0

Так что проблема была в том, кто был владельцем index.php и всех файлов php. Все php-файлы должны иметь владельца www-data: www-data ... но небольшая часть файлов была загружена через ftp, и поэтому владельцем был ftp: www-data.

И файл сеанса имел тот же самый владелец, что и файл php, где был запущен сеанс ... не знаю, является ли это доступным только для моего сервера.

0

случайно два (экземпляры) серверов, работающих на порту 80? Я не знаю, как еще объяснить разницу в собственности (если ваш скрипт каким-то образом не меняет права собственности).

Предлагаю удалить все данные сеанса, и просмотр их создается один за другим. Попробуйте также с дополнительными файлами. Если они пинг-понг (один по ftp, один по www-данным, по ftp, один по www-данным, ...), то я бы склонялся к двум работающим серверам.

Вы случайно не находитесь за балансиром нагрузки?

+0

Разрешения любого файла, который вы пишете, должны соответствовать разрешению файлов сеанса. Просто FYI, чтобы помочь в вашей отладке. – ChronoFish

+0

Я нашел решение этой проблемы ... я отправлю его в ближайшее время, но это был неправильный ответ ... и я не за балансиром нагрузки :) – Gabriel

+0

Я очень хочу услышать, что корень проблема был. – ChronoFish