Задать вопрос
@OypiStudent
Всё у меня работает, но я хотел бы знать, КАК))

Как сделать, чтобы на каждом запросе к бек-енду не приходилось заново коннектиться к MySQL?

Можно ли сконнектиться только 1 раз в начале сессии и дисконнектиться при ее завершении?

То есть:
1) сделал юзер первый запрос к сайту (открыл страницу в браузере) - мы создали объект $mysqli
2) после этого юзер может делать и AJAX запросы с этой страницы, и не AJAX, и новые страницы открывать, и мы все равно используем тот же $mysqli
3) а как только юзер закрывает все вкладки, мы закрываем и $mysqli

Возможно ли что-то хоть отдаленно похожее?
Ну или хотя бы чтоб при каждом запросе к одному и тому же php-скрипту не коннектиться по новой, а то получается каждый раз когда один и тот же юзер постит в чате, мы заново коннектимся, дисконектимся...
  • Вопрос задан
  • 413 просмотров
Подписаться 1 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Традиционными средствами на php это сделать невозможно, скрипты умирают после завершения, а вместе с ними и все подключения.
Можно написать демона и обращаться к нему через сокеты или что-нибудь ещё.
Ответ написан
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Так постоянные соединения реализованы на уровне mysqli, PDO

php.net/manual/ru/mysqli.persistconns.php
В отличие от расширения mysql, в mysqli нет отдельной функции для создания постоянных соединений. Чтобы открыть постоянное соединение, при создании подключения к имени хоста нужно добавить префикс p:.
Ответ написан
Ваш ответ на вопрос

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

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