Страница 1 из 1

В чём проблема?

Добавлено: 07.06.2017, 08:14
Vadik
Добрый день. Столкнулся с такой проблемой, периодически перестает работать магазин, с чем это связано? сегодня например не работал по этим причинам:

Код: Выделить всё

Warning: mysqli::mysqli(): MySQL server has gone away in /home/users/l/......./domains/........ru/api/Database.php on line 32

Warning: mysqli::mysqli(): Error while reading greeting packet. PID=31003 in /home/users/l/......./domains/........ru/api/Database.php on line 32

Warning: mysqli::mysqli(): (HY000/2006): MySQL server has gone away in /home/users/l/......./domains/........ru/api/Database.php on line 32

Warning: Could not connect to the database: MySQL server has gone away in /home/users/l/......./domains/........ru/api/Database.php on line 37

Warning: mysqli::query(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 73

Warning: Database::results(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: Invalid argument supplied for foreach() in /home/users/l/......./domains/........ru/api/Languages.php on line 128

Warning: mysqli::query(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 73

Warning: Database::results(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: Invalid argument supplied for foreach() in /home/users/l/......./domains/........ru/api/Settings.php on line 53

Warning: mysqli::query(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 73

Warning: Database::results(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: mysqli::query(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 73

Warning: Database::results(): Couldn't fetch mysqli in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: in /home/users/l/......./domains/........ru/api/Database.php on line 113

Warning: Invalid argument supplied for foreach() in /home/users/l/......./domains/........ru/api/Money.php on line 42
get_translations empty(filter["lang"])

Исправляется это довольно просто, достаточно заменить конкретный файл, в данном случае api/Database.php и все ошибки пропадают, но в самом появлении подобного, приятного мало. С чем это вообще связано и как не допустить повторений?

Добавлено: 07.06.2017, 09:43
m1hasik
Уточните версию PHP и MySQL, проблемы могут быть из за этого. Особенно если у вас VPS и настраивал его человек, не знающий сервера толком

Добавлено: 07.06.2017, 16:09
Vadik
m1hasik писал(а):Уточните версию PHP и MySQL, проблемы могут быть из за этого. Особенно если у вас VPS и настраивал его человек, не знающий сервера толком
Версия 5.6, все на хостинге

Добавлено: 07.06.2017, 17:48
m1hasik
Vadik писал(а):MySQL server has gone away in
Наиболее часто ошибка MySQL server has gone away возникает в результате тайм-аута соединения и его закрытия сервером. По умолчанию сервер закрывает соединение по прошествии 8 часов бездействия.
У вас могут быть особые настройки БД, желательно бы видеть версию и тип БД, особенно нужно видеть версию ,mysqli

Добавлено: 07.06.2017, 19:54
Vadik
m1hasik писал(а):У вас могут быть особые настройки БД, желательно бы видеть версию и тип БД, особенно нужно видеть версию ,mysqli

Версия MySQL 5.5.x
А mysqli пишут просто Есть.
Настройки не менялись, была версия 1.2.3, после была 2.0, всё хорошо было, а обновился до 2.0.2, появилось то, что есть. Возможно именно из за этого, что-то не добавилось и прочие, но как тогда заблаговременно узнать об этом, если все работает, а в один момент перестает?

Добавлено: 08.06.2017, 05:34
m1hasik
вы обновлялись сами ? какое количество товаров на сайте ?

Вот нашел на просторах еще такой ответ

MySQL can be configured to not accept external connections, for security reasons. By saying the full domain name, you are using the public IP and therefore you are an external connection. If MySQL is running on the same box as your webserver, just access it via this domain name:
localhost:2082

Добавлено: 08.06.2017, 08:18
Vadik
m1hasik писал(а):вы обновлялись сами ? какое количество товаров на сайте ?

Да, обновлялся сам. А товара нет ещё, добавлен лишь один.

Вот нашел на просторах еще такой ответ
А тут совсем ничего не понял

Добавлено: 08.06.2017, 08:19
m1hasik
По соображениям безопасности MySQL может быть настроен так, чтобы не принимать внешние подключения.
Стоит ли у вас на хостинге галочка, разрешить удаленные подключения к БД ?

Добавлено: 08.06.2017, 09:33
Vadik
m1hasik писал(а):По соображениям безопасности MySQL может быть настроен так, чтобы не принимать внешние подключения.
Стоит ли у вас на хостинге галочка, разрешить удаленные подключения к БД ?
Нет. Удалённые подключения запрещены.
Да и думаю это не при чем, ведь ситуация меняется при замене того и иного файла, без каких либо манипуляций с БД

Добавлено: 08.06.2017, 09:35
m1hasik
Vadik писал(а):
m1hasik писал(а):По соображениям безопасности MySQL может быть настроен так, чтобы не принимать внешние подключения.
Стоит ли у вас на хостинге галочка, разрешить удаленные подключения к БД ?
Нет. Удалённые подключения запрещены
Включите их, в этом может и быть проблема

Добавлено: 08.06.2017, 09:37
Vadik
m1hasik писал(а):Включите их, в этом может и быть проблема

Хорошо, посмотрим. Спасибо