Как лучше всего из PHP проверить, будет ли соединение с сервером MySQL успешным? Я видел некоторые решения, которые сначала пытаются открыть сокетное соединение (с fsockopen
) и подключиться к MySQL (через любое расширение, которое вы используете), только если сокетное соединение было успешным. Я не слишком уверен в этом, так как вам приходится каждый раз устанавливать два соединения, это слишком сильно забивает сервер?
Моя проблема в том, что если мой сервер MySQL блокируется или перестает работать по какой-либо причине, веб-страница просто перестает работать (она загружается в течение длительного времени, а затем обычно возвращается с ошибкой тайм-аута шлюза 504). Я хотел бы отобразить удобное сообщение об ошибке, если MySQL недоступен. Это также, надеюсь, позволило бы избежать еще большего забивания MySQL, если он уже испытывает трудности, поскольку новые клиенты не будут подключаться к нему, пока сервер не вернется.
Я использую расширение MySQLi , если это уместно.