У меня WordPress работает на Windows общего хостинга (IIS) с Godaddy. В WordPress заканчивается собственный подкаталог «/ wordpress». Если я установлю значение сеанса PHP, например, $ _SESSION [«test1»] = «значение, установленное из корня: /»; в PHP из root я могу видеть значение сеанса в порядке, пока в моем PHP-коде заканчивается root. Если я пытаюсь получить доступ к этому значению сеанса из папки / wordpress, оно не найдено.
Применяется наоборот. Если я установлю значение сеанса в / wordpress и его подкаталогах, я смогу просматривать сеанс и его значения великолепно, пока я работаю в папке / wordpress. Если я пытаюсь получить доступ к значению сеанса, которое было установлено изнутри / wordpress в корне, оно не доступно.
Я проверил идентификаторы сессий, и они оба одинаковые из корня и из папки / wordpress. Я проверил набор файлов cookie от обоих, и они имеют одинаковый путь & домен.
Я в недоумении, почему установка значений сеанса PHP от root до папки / wordpress не будет глобальной. Любая помощь будет оценена. Благодарю.
/set_session.php
<?php
session_start();
$_SESSION["test1"] = "value set from root: /";
?>
/wordpress/set_session.php
<?php
session_start();
$_SESSION["test2"] = "value set from wordpress subdirectory: /wordpress";
?>
view_session.php (я запускаю это от root и / wordpress)
<?php
session_start();
echo "<h3> PHP List All Session Variables</h3>";
foreach ($_SESSION as $key=>$val)
echo $key." ".$val."<br/>";
?>
Если я запускаю скрипт сеанса просмотра из /view_session.php, я вижу только значение для «test1», как оно было установлено из /set_session.php.
Если я запускаю скрипт сеанса просмотра из /wordpress/view_session.php, я вижу только значение «test2», как оно было установлено из /wordpress/set_session.php.
Во-первых, позвольте мне сказать, что поддержка GoDaddy бесполезна. Они заняли позицию, что из-за того, что не было официальной «ошибки», они не могли помочь мне, и это была не их вина, несмотря на то, что образец базового кода демонстрировал проблему.
Когда я установил WordPress, я использовал автоматическую установку Plesk, чтобы установить WP для меня. Он установил WordPress в свой собственный подкаталог. Это нормально, однако их процессы установки сделали папку / wordpress своим собственным виртуальным каталогом, который заставляет весь контент внутри нее запускаться в своем собственном пуле / потоке приложений. Это вызвало различные сеансы между каталогом / wordpress и другими каталогами на сайте.
Других решений пока нет …