Я только что купил новое серверное пространство и переносю на него очень простое PHP-приложение, которое отлично работает на моем другом сервере.
По какой-то причине данные сеанса не сохраняются в переменной $ _SESSION между страницами на новом сервере.Я посмотрел эту похожую статью SO и многие другие, чтобы попытаться исправить проблему.
Я могу подтвердить, что:
- Сеанс работает нормальнона моем другом сайте.Я заглянул в каталог, определенный с помощью session.save_path, и там есть множество файлов сессий (на OLD-сервере).
- Я повторил содержимое переменной $ _SESSION в конце страницы,и он содержит правильные данные, он просто не сохраняется.
- У меня есть echo'd session_id () для каждой страницы и получаю одинаковый вывод.
- Я посмотрел впапка, указанная в папке session.save_path НОВОГО сервера (/ usr / lib / php / session), и там нет файлов.Я проверил права доступа и он установлен на drwxrwx ---, что должно означать, что программа php может писать в него, верно?
- У меня нет файла .htaccess.
- Я работаюCentOS 5.5
Это из соответствующей части вывода phpinfo ():
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
Я связался с хостинговой компанией, и они не будут смотреть на нее, потому что онискажем, это проблема программного обеспечения, а не управляемая учетная запись.Grrrrr ...
Чтобы вы могли увидеть какой-то код, который не работает, я украл код из статьи, на которую я ссылался:
// info.php
<?
session_start();
$_SESSION['ID'] = "112233";
$_SESSION['token'] = "mytoken";
print $_SESSION['ID'];
print $_SESSION['token'];
?>
<a href="info2.php">info 2</a>
, и один вызвал info2 с этимcode:
// info2.php
<?
session_start();
print $_SESSION['ID'];
print $_SESSION['token'];
?>
<a href="info.php">info</a>
В результате вы получаете данные массива в info.php, но не выводите информацию в info2.php (кроме ссылки, конечно).
Заранее большое спасибо за любыепомощь.