Увеличение переменной SESSION не работает на моей хостинговой платформе, но работает на других (bitnami lampstack и wampstack) - PullRequest
2 голосов
/ 06 октября 2019

Очень простой фрагмент кода ниже работает на нескольких серверах apache / php, но не на том, который используется моей коммерческой службой хостинга. (Я буду спрашивать их об этом в ближайшее время, но подумал, что я мог бы получить более быстрый ответ здесь) Код увеличивает и отображает переменную «counter» каждый раз, когда я перезагружаю (обновляю) страницу - за исключением моего коммерческого хостинга (который останется безымянным)на данный момент - большой) Вот код:

<?php

session_start();
$_SESSION['counter']++;

   echo 'counter: '.$_SESSION['counter'].' ';
?>

Версия PHP на моем коммерческом хосте - 7.3.xx Ничего не происходит, когда я обновляю страницу. Стеки ламп и wamp, которые я пробовал, тоже 7.3.xx - и он также работает на моей старой установке, которая работает с PHP 5.4

. Когда это работает, страницы увеличивают число на моем коммерческом хосте. , это остается "1" каждый раз, когда я обновляю.

Ответы [ 3 ]

0 голосов
/ 12 октября 2019

Оказывается, что в файлах, которые я отправляю службе хоста, есть какой-то призрачный символ или что-то подобное, что вызывает проблему. Странно, что не появилось никакого другого специфического поведения, но я буду исследовать способы очистки файлов, которые облегчат проблему. Прямо сейчас «diff» показывает очень загадочный ответ при сравнении кода, который работает, и кода, который не работает:

diff test2.php test3.php 1d0 <32a32 </p>

0 голосов
/ 12 октября 2019

Вероятно, файл, который не работает, сохраняется как UTF-8 с спецификацией. В этом случае спецификация считается первой частью вывода, и вы не можете использовать session_start (), когда вывод уже сформирован.

См. Здесь И здесь

0 голосов
/ 07 октября 2019

Сеансы PHP по умолчанию сохраняют данные в файловой системе. Вы должны убедиться, что путь, по которому сохраняются данные (проверьте ваш php.ini), доступен и доступен для записи. В качестве альтернативы вы можете попробовать установить другой путь, который вы можете записать, используя

ini_set('session.save_path', '/path/to/your/folder')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...