В одном из комментариев, приведенном здесь на сайте документации mysqli
Вы всегда должны использовать функцию mysqli_kill () перед mysqli_close (), чтобы фактически закрыть и освободить сокет tcp, используемый PHP. Сбор мусора после выполнения скрипта или mysqli_close () не убивает сокет tcp самостоятельно. Сокет в противном случае оставался бы в состоянии ожидания примерно на 30 секунд, и любые дополнительные попытки загрузки / подключения к странице только добавили бы к общему количеству открытых подключений tcp. Это время ожидания не настраивается с помощью настроек PHP.
- Не удается передать соединение mysqli в сеансе в php
- Ошибка: mysqli :: real_connect (): (08004/1040): Слишком много соединений
- Как оптимизировать запрос mysql, получая категории и подкатегории
- Обеспечение взаимодействия с MySQL в функции PHP
- PHP mysqli - возвращает ассоциативный массив из подготовленного оператора
Также с этой версией созданные mysqli ссылки не могут быть «деактивированы» и будут продолжать накапливаться в памяти процесса до тех пор, пока сервер или процесс PHP не перезагрузится, в результате чего потребуется mysqli.max_links = -1.
Может кто-нибудь объяснить, что это значит, и если mysqli.max_links должен быть установлен, как это сделать, и если я должен использовать mysqli_kill ();
Я не нашел, что рациональный, mysql можно подключить через socket на localhost
Будьте осторожны, используя mysqli :: kill перед mysqli :: close.
Убив нить до фактического закрытия соединения, вы оставите соединение открытым! И в зависимости от ваших max_connections и max_user_connections (по умолчанию то же самое), это может привести к появлению сообщения «Максимальные соединения, достигнутые для * * пользователя».