Может ли ошибка запроса mysql быть вызвана сервером / хостингом? - PullRequest
2 голосов
/ 07 декабря 2011

У меня настроена электронная коммерция CS-CART на общем сервере.В последнее время у него были некоторые проблемы, и я получаю ошибки mysql, как эти:

PHP Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 53
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 57
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 57
PHP Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 64
PHP Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/mp/public_html/core/db/mysql.php on line 127

Странно то, что я случайно получаю ошибку на случайных страницах.Это не то, что появляется на определенной странице или после выполнения определенной вещи.

Чтобы сделать вещи более сложными, это случается только иногда.Есть ли вероятность, что это может быть вызвано процессом server / mysql?

Например, веб-сайт теперь отлично загружается, все функции работают безупречно - я протестировал большинство функций, страниц и не получилошибки.Несколько часов назад все загружалось медленно, и некоторые страницы возвращали ошибки, перечисленные выше.

Любой ввод будет оценен.Спасибо.

1 Ответ

2 голосов
/ 07 декабря 2011

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

Если вы работаете на сервере с общим хостингом, есть вероятность, что другой арендатор иногда исчерпывает все ресурсы, поэтому вы можете малоделать.Но может быть несколько вещей, которые вы можете сделать, чтобы отследить проблему дальше.Если ваш интерфейс phpMyAdmin позволяет вам получить доступ к вкладке Status, вы можете использовать ее, чтобы получить некоторое представление о состоянии сервера MySQL.

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

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

...