Jump to content
mcreper

Каждый день в логах PHP Fatal error: Uncaught exception 'Exception' with message 'Error:....

Recommended Posts

Добрый день. Магазин работает достаточно быстро, проблем визуально не замечаю. Но каждый день в логах постоянно растет количество ошибок типа:
 

[25-Apr-2020 11:07:18 UTC] PHP Fatal error:  Uncaught exception 'Exception' with message 'Error: <br />Error No: ' in /home/test4/public_html/system/library/db/mysqli.php:10

Stack trace:
#0 /home/test4/public_html/system/storage/modification/system/library/db.php(25): DB\MySQLi->__construct('localhost', 'test1', 'test2', 'test_shop', NULL)
#1 /home/test4/public_html/system/storage/modification/system/config/catalog.php(27): DB->__construct('mysqli', 'localhost', 'test1', 'test2', 'test_shop')
#2 /home/test4/public_html/system/storage/modification/system/library/config.php(23): require('/home/test4...')
#3 /home/test4/public_html/system/framework.php(8): Config->load('catalog')
#4 /home/test4/public_html/system/startup.php(105): require_once('/home/test4...')
#5 /home/test4/public_html/index.php(19): start('catalog')
#6 {main}
  thrown in /home/test4/public_html/system/library/db/mysqli.php on line 10

[25-Apr-2020 12:54:35 UTC] PHP Warning:  mysqli::mysqli(): (HY000/1040): Too many connections in /home/test4/public_html/system/library/db/mysqli.php on line 7
[25-Apr-2020 12:54:35 UTC] PHP Warning:  DB\MySQLi::__construct(): Couldn't fetch mysqli in /home/test4/public_html/system/library/db/mysqli.php on line 10
[25-Apr-2020 12:54:35 UTC] PHP Fatal error:  Uncaught exception 'Exception' with message 'Error: <br />Error No: ' in /home/test4/public_html/system/library/db/mysqli.php:10

Stack trace:
#0 /home/test4/public_html/system/storage/modification/system/library/db.php(25): DB\MySQLi->__construct('localhost', 'test1', 'test2', 'test_shop', NULL)
#1 /home/test4/public_html/system/storage/modification/system/config/catalog.php(27): DB->__construct('mysqli', 'localhost', 'test1', 'test2', 'test_shop')
#2 /home/test4/public_html/system/storage/modification/system/library/config.php(23): require('/home/test4...')
#3 /home/test4/public_html/system/framework.php(8): Config->load('catalog')
#4 /home/test4/public_html/system/startup.php(105): require_once('/home/test4...')
#5 /home/test4/public_html/index.php(19): start('catalog')
#6 {main}
  thrown in /home/test4/public_html/system/library/db/mysqli.php on line 10

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

Share this post


Link to post
Share on other sites

Это проблема лимита подключений к mysql серверу.

Цитата

(HY000/1040): Too many connections

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

Надо смотреть что там вообще в лимитах настроено. Если что-то неадекватное вроде 15-30 подключений, то лучше задуматься о смене хостинга.

 

Посмотреть параметр можно запросом в phpMyAdmin:

SHOW VARIABLES LIKE "max_connections";

 

Ещё конечно зависит от посещаемости сайта. Может у вас там посещаемость 1М хитов в час.

Share this post


Link to post
Share on other sites

Спасибо за ответ. Посещаемость 200 человек в день. Поэтому маловероятно, что она так влияет.
На счет ошибки

mysqli::mysqli(): (HY000/1040)

понятно.

Но меня больше интересует ошибка, вызывающая

Uncaught exception 'Exception' with message 'Error

Или эти ошибки взаимосвязаны? Спасибо

Share this post


Link to post
Share on other sites
13 часов назад, mpn2005 сказал:

 

 

Посмотреть параметр можно запросом в phpMyAdmin:

SHOW VARIABLES LIKE "max_connections";

 

 

Данный запрос показывает 170

Share this post


Link to post
Share on other sites
3 часа назад, mcreper сказал:

эти ошибки взаимосвязаны

да

 

вспоминайте, после чего такое началось

если сразу с момента запуска сайта - имеет смысл обратиться к хостеру

 

проверьте файлы на наличие левых подключений к БД в обход классов движка (ищите по _connect)

на форуме как-то попадался код, где подобное подключение вообще было сделано в цикле

 

здесь почитайте

https://sqlinfo.ru/forum/viewtopic.php?id=7444

Share this post


Link to post
Share on other sites
9 часов назад, mcreper сказал:

Данный запрос показывает 170

Для текущей посещаемости должно хватать. Но по хорошему маловато.

Т.к. могут быть пики посещения + ещё боты.

 

Если косяков в коде нет, о которых писал @AlexDW, то надо смотреть логи awstats.

Может имеет место быть парсинг сайта.

Share this post


Link to post
Share on other sites
10 часов назад, mcreper сказал:

Спасибо за ответ. Посещаемость 200 человек в день. Поэтому маловероятно, что она так влияет.
На счет ошибки

mysqli::mysqli(): (HY000/1040)

понятно.

Но меня больше интересует ошибка, вызывающая

Uncaught exception 'Exception' with message 'Error

Или эти ошибки взаимосвязаны? Спасибо

Второе - это последствие ошибки mysql-сервера.

Сервер выдал ошибку. Библиотека движка кинула exception.

 

Share this post


Link to post
Share on other sites
SHOW VARIABLES LIKE "max_connections";

у меня на сайте показывает 600 - но всеравно ошибку ловлю на максимальном конекте 120.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.