Побочный эффект сессии PHP, предупреждающий с глобальными переменными как источник данных

.NET версия 4.5.2 Обозреватель решений , щелкните правой кнопкой мыши Ссылки -> Добавить ссылку ...

В новом окне выберите Сборки и заполните «System.configuration» в поле поиска. Проверен ли флажок? Если нет, наведите на него курсор, выберите его. Reference Manager

.NET версия 4.6.1 Возможно, вы забыли добавить пакет слепков?

В Обозреватель решений , щелкните правой кнопкой мыши Ссылки , выберите Управление пакетами слепков.

How to open Nugget package manager

В разделе Обзор заполните «System.Configuration.ConfigurationManager». Выберите тот из Microsoft и посмотрите, что говорит вкладка справа. Установите, если еще не установлен. Nugget Package manager overview

43
задан Zack Peterson 6 October 2008 в 16:39
поделиться

2 ответа

в основном у Вас есть переменная с тем же именем как Ваша сессия. исключая:

$_SESSION['var1'] = null;
$var1 = 'something';

который воспроизведет эту ошибку. можно мешать PHP пытаться найти существующие переменные и предупредить Вас о них путем добавления этих строк к сценарию:

ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);

эти значения могут быть установлены в php.ini или .htaccess также

99
ответ дан 26 November 2019 в 22:36
поделиться

Здесь есть несколько проблемных возможностей:

http://www.spiration.co.uk/post/1231/Your-script -possible-Relies-on-a-session-side-effect

говорит, что такие случаи:

$_SESSION['firstname']=$_REQUEST['firstname'];

вызовут предупреждение.

Кроме того, я интерпретирую содержание этой ошибки php: http://bugs.php.net/bug.php?id=41540 как означающее, что эта ошибка также может возникнуть, когда вы назначаете переменную суперглобальный сеанс, который еще не инициализирован, например

//Start of script
$_SESSION['bob'] = $bob;
6
ответ дан 26 November 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: