Сессия Помощь: это моя вина? - PullRequest
0 голосов
/ 03 декабря 2009

У меня есть какое-то (дрянное) программное обеспечение, которое, тем не менее, работает на всех установках, которые я сделал, кроме этой новой. Кажется, проблема в том, что переменные сеанса не устанавливаются или что каждый раз, когда вызывается session_start, он разрушает старый сеанс, даже если я использую куки. Глядя на информацию php.net о сессиях, Я наткнулся на сессионного тестера.

Ну, я загрузил тестер сеансов на свой сайт , чтобы увидеть, что происходит, и похоже, что что-то неправильно настроено на сервере, но я хочу быть уверен, что происходит, прежде чем я позвоните в техподдержку.

Итак, мой вопрос, поскольку 'foo' не может быть установлен, это означает, что что-то не настроено должным образом с сервером?

Вот phpinfo, если это поможет.

Спасибо.

Ответы [ 2 ]

1 голос
/ 03 декабря 2009

Некоторые идеи:

  1. Убедитесь, что сессии могут быть записаны в save_path (* в вашем случае /var/php_sessions) и прочитаны пользователем Apache
  2. Существуют ли какие-либо настройки Apache для изменения?
  3. Попробуйте var_dump($_SESSION);
  4. Попробуйте проверить файл сеанса (обычно это "sess_XXXXX" в save_path)
  5. Увеличение регистрации ошибок и проверка любых журналов ошибок
  6. Попробуйте использовать сеансы без файлов cookie
  7. Попробуйте использовать другой метод сохранения сеанса (пользовательский или sqlite)
  8. Это общий хост? Если да, работают ли сессии для других людей?
0 голосов
/ 03 декабря 2009

Попросите компанию, предоставляющую ваш хостинг, разобраться в этом вопросе. Я подозреваю, что есть проблема с настройками, связанными с сеансом, в частности session.save_path.

РЕДАКТИРОВАТЬ ----

Попробуйте установить полный отчет об ошибках и посмотреть, если PHP что-то жалуется. Добавьте эти две строки в самое начало ваших сценариев:

ini_set( "display_errors", 1 );
ini_set( "error_reporting", E_ALL );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...