Новый хост - данные сеанса Php сохраняются в указанной папке, но переменные сеанса пустые / не читают данные? - PullRequest
0 голосов
/ 04 октября 2011

Как следует из названия, у меня возникают проблемы при попытке перенести существующий сайт на новый хост.

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

Это работает нормально, я вижу, что сеансы появляются в этой папке, с правильными записями, записанными в них.

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

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

Это заставляет меня думать, что это может быть проблема на стороне сервера. Возможно другое значение php.ini.

Случалось ли это с кем-либо раньше или кто-то может предложить причину такого поведения.

Если у кого-то есть абсолютно какие-либо комментарии, которые могут изменить это, или он может указать мне верное направление, чтобы решить эту проблему. Это было бы более чем оценено.

Спасибо!

@ Марк

sess.php

<?php 
session_start();
$_SESSION['test'] = 'test';
include 'sess2.php';
?> 

sess2.php

<?php
echo ''.$test.'';
var_dump($test);
?> 

значение файла данных сеанса

test|s:4:"test";

Теперь, когда я загружаю sess.php, он включает sess2.php, но на странице отображается только переменная vardump, равная NULL. Это странно, потому что данные были записаны в сеанс, как показано в значении загруженного файла данных ...

Есть идеи?

1 Ответ

1 голос
/ 05 октября 2011

Похоже, вы зависите от register_globals.Это ужасно плохая вещь в PHP, которая по умолчанию отключена в эти дни.Попробуйте echo $_SESSION['test'] вместо этого сейчас.Кроме того, такие переменные регистрируются только во время запуска скрипта / session_start.Вам нужно будет использовать session_register() ( DON'T ), чтобы оно вступило в силу во время текущего выполнения выполнения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...