Во-первых, мой конкретный вопрос. Должно ли это работать?Чтение переменных сеанса после session_write_close
<?php
session_start();
$_SESSION['test']='TEST_CONTENT';
echo '1: ',$_SESSION['test'];
echo '<br>';
session_write_close();
echo '2: ',$_SESSION['test']
?>
Теперь, некоторые справочные данные. У нас есть веб-приложение с Frameset (не заставляйте меня начинать ... нет, нет денег, чтобы изменить это), и мы обнаружили, что в некоторых случаях наши переменные SESSION не записывались в базу данных! После некоторого трудного тестирования мы обнаружили, что два кадра загружаются одновременно, и, хотя это почти никогда не происходит, первый так называемый кадр завершается после второго. Первый так называемый фрейм переписывал сеанс с ранее сделанной копией (так как в конце скрипта он записывает сеанс).
Наше решение теперь состоит в том, чтобы попытаться вызвать session_write_close() на первом так называемом фрейме, как только мы сможем, но мы обеспокоены тем, что можем все еще читать переменные сеанса (со 100% уверенностью).
Почему бы вам не попробовать и посмотреть, работает ли он? –
Тест, и perphaps вы могли бы перевести переменные сеанса в другой var (не уверен, хотя) – MKroeders
Можете ли вы 'session_start' снова, сразу после его закрытия? –