Ошибка с сессиями в php

276
19 мая 2018, 05:00

Извиняюсь за глупый вопрос, но к сожалению сам не смог найти решения

Когда я писал авторизацию на сайте, я прописал session_start(); в этом же файле чтобы проверить как работает, потом я решил запустить начало сессии в файле с подключением в БД, т.к он подключается почти везде, из-за этого случился баг.

Баг заключается в том что теперь появляется ошибка которая гласит о том, что нельзя запустить сессию еще раз, т.к она уже запущена, я пытался удалить ее через unset(), и session_destroy(); но при вызове второй функции появляется еще одна ошибка, в ней сказано что нельзя удалить то, чего и так нету

Вот уже сижу и думаю как это решить

P.S На первом скрине написано что ошибка на 5 строке, но это не так, на самом деле на 3

Answer 1

Перед стартом сессии проверяйте существование её идентификатора - если его нет, стартуйте сессию. Т.е., записывайте старт таким способом:

session_id() ?: session_start();
Answer 2

Если у вас сессия стартует только в одном файле и появляется такая ошибка, это значит, что вы подключаете этот файл более одного раза. С учетом того, что при подключении этого файла создается глобальный объект подключения к БД - проблема может очень сильно аукнутся.

Решение проблемы - подключать этот файл только один раз. Т.е. вместо include/require писать require_once db.php

READ ALSO
Поиск кода функции хука WooCommerce

Поиск кода функции хука WooCommerce

Если ленивый - читай сразу последний абзац!

265
Помогите разобраться с php-скриптом для VK API

Помогите разобраться с php-скриптом для VK API

Написан скрипт для постинга записей в открытые сообщества ВК методом wallpost

260
Не работает RewriteRule в .htaccess

Не работает RewriteRule в .htaccess

Задача состоит в том, чтобы все пути, в которых встречается /api/

246