Ошибки подключения к базе данных php

Я надеюсь, что кто-то может быстро помочь мне с вопросом, который у меня есть.

Поскольку сайт, который у меня есть, иногда возвращается с ошибкой.

Предупреждение: mysqli::mysqli() [mysqli.mysqli]: (08004/1040): слишком много соединений в

Предупреждение: mysqli::query() [mysqli.query]: не удалось получить mysqli в

Сначала я подумал, что это происходит, так как я закрывал соединение в конце каждой страницы, теперь я получаю такое соединение в начале страницы / скрипта.

$conn = new mysqli($host, $username, $password, $database);

и в самом конце вызова

$ Conn-> близко ();

Также я закрываю все наборы результатов, которые у меня открыты.

Глядя на мои файлы журналов примерно в то время, когда я сегодня заходил на сайт и видел эту ошибку, я обращался примерно к 12 часам, и сначала страница даже не загружалась, затем она выдала мне эту ошибку. до этого один человек посещал около 11:30, а затем 10:30, не совсем интенсивное движение.

Хост, с которым я пошел, очень тихий, и нет никакого способа связаться с ними, и игнорируя любые письма поддержки, я подумал, может быть, так как теперь я слышу, что они не очень хороши, это может быть проблемой с плохо настроенным общим MySQL сервер?

Любые мысли или предложения будут удивительными, так как мне нужно разобраться с этим!

Заранее спасибо!

1 ответ

Решение

Похоже, что сервер MySQL совместно используется слишком многими учетными записями, поскольку эта ошибка означает, что сервер max_connections Установка была превышена. Может случиться так, что есть несколько других клиентов с высоким трафиком, которые принимают соединения (это общий сервер MySQL, я так понимаю?)

Я вполне уверен, что PHP автоматически закрывает ресурсы в конце запроса (хотя всегда лучше явно закрывать ваши соединения и т. Д.), Поэтому я бы не подумал, что это ваш скрипт, сохраняющий соединения открытыми.

Я боюсь, что вам нужно будет оставаться у своего хостинг-провайдера или рассмотреть возможность переезда провайдеров. Также попытайтесь вести журнал того, когда ошибки происходят и как долго, поскольку вам понадобится это в качестве доказательства, если они откажутся признать наличие проблемы.

Вы также можете направить своего провайдера на эту страницу: http://dev.mysql.com/doc/refman/5.1/en/too-many-connections.html.

Другие вопросы по тегам