newpdv
@newpdv
Web-devekioer

Your script possibly relies on a session side-effect!?

Сегодня смотрел логи на сервере и заметил несколько повторяющихся ошибок следующего содержания:
Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively

Кроме текста ошибки ничего нет.

В чем суть этой ошибки и как она проявляется?
  • Вопрос задан
  • 3229 просмотров
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Обновите версию PHP до актуальной. Эта legacy-опция давно удалена.

Это предупреждение сродни Deprecated. После исправления ошибки повесили предупреждение, для тех, кто мог использовать это недокументированное поведение. www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-42

Если только вы не ковыряетесь в окаменелостях PHP версии аж до 4.2.0, предупреждение можно безбоязненно выключать.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Ошибка, действительно, древняя, как экскремент мамонта. Объясняется здесь.
То есть, если есть переменная, допустим, $_SESSION['user'], имеющая значение NULL, и тут мы присваиваем какое-нибудь значение переменной $user — вот тут ошибка и вылезает.

Легко отключается через
ini_set('session.bug_compat_warn', 0);

Но лучше всё-таки проапгрейдиться. Тем более, что начиная с 5.4 пхп будет уже ругаться на эту настройку, как несуществующую.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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