Автор Тема: MySQL.php on line 34  (Прочитано 175 раз)

18 Апреля 2015, 11:58:12
  • Ветеран
  • *****
  • Сообщений: 972
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Кто ни будь подскажет что за ошибка PS 1.4.2.5

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11) in /home/u2930732/public_html/сайт.ru/classes/MySQL.php on line 34

и как вылечить?
Не боги горшки обжигают, не зачем им такой хренью заниматься.
18 Апреля 2015, 12:28:28
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13287
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Откройте файл MySQL.php, найдите линию 34. Что там за код?
18 Апреля 2015, 14:47:13
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 972
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
if ($this->_link = mysql_connect($this->_server, $this->_user, $this->_password))
Не боги горшки обжигают, не зачем им такой хренью заниматься.
18 Апреля 2015, 15:07:33
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86057
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1. Не правильные данные (сервер, бд, пользователь, пароль) для соединения с mysql.
2. Или проблемы с сервером mysql (не запущен, упал, завис ...)
20 Апреля 2015, 12:52:43
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 972
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Поговорил с техподдержкой, говорят что это ошибка возникает при одновременном подключении к базе данных более 64, т.е. как только это происходит больше никто не может зайти на сайт.
Или соединения с БД не закрываются.

Скорее всего одновременно столько посетителей на сайт не заходят, значит не закрывается соединение.

Как бы узнать что происходит?
Не боги горшки обжигают, не зачем им такой хренью заниматься.
20 Апреля 2015, 12:58:49
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 13287
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Включить запись логов, если хостинг разрешает.
20 Апреля 2015, 16:22:36
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 972
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Логи просмотрел, похоже много одновременных запросов,
сейчас ищу как бы ограничить количество запросов в секунду.
Нашел вот такую штучку
http://www.simplemachines.ru/index.php?topic=10629.0
и вот такую
http://wbtools.ru/?forum=22

Но пока не знаю куда это вставлять.

 Информация о сервере: Linux #1 SMP Thu Dec 18 06:49:17 EST 2014 x86_64

Версия программного обеспечения на сервере: Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_bwlimited/1.4
Версия PHP: 5.3.29
Доступный объем памяти: 256M
Максимальное время выполнения: 120

Информация о базе данных

Версия MySQL: 5.5.41-cll-lve
Движок MySQL: InnoDB
Префикс таблицы: db_
Не боги горшки обжигают, не зачем им такой хренью заниматься.
20 Апреля 2015, 16:42:24
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 2338
  • Репутация: +52/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Это не для престы. Одна ссылка на smf, другая для настройки vps. Для престы свой модуль нужен.
21 Апреля 2015, 14:25:45
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 972
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Для версий PS 1.5.0.0 получилось сделать плагин на
базе вот этой разработки с небольшими переделками
http://www.simplemachines.ru/index.php?topic=10629.0

На версии PS  1.6.0.5 эта же разработка выдает ошибку:   [21-Apr-2015 14:19:52 Europe/Moscow] PHP Fatal error:  Cannot redeclare WriteIP() (previously declared in /сайт.ru/tools/smarty/plugins/function.limitip.php:236) in /сайт.ru/tools/smarty/plugins/function.limitip.php on line 273

Код на что ссылается Log:

function WriteIP($counter)        // строка 236
{
   $counter++;
   if ($counter > AD_TRYING)
   {
      //Баним ip-адрес
      $f = fopen($_SERVER['DOCUMENT_ROOT'] . '/.htaccess', 'a');
      fwrite($f, "\n# " . date('Y-m-d H:i:s') . "\ndeny from " . USER_IP);
      fclose($f);

.................................

   }
   else
   {
      //Записываем файл с ip-адресом и количеством обращений
      $f = fopen(AD_DIRNAME . '/a' . USER_IP . '_' .
         $counter, 'w');
      fclose($f);
   }

}        // строка 273

Кого интересует полный скрипт ссылочка выше.
Кто шарит в PHP гляньте!
Не боги горшки обжигают, не зачем им такой хренью заниматься.
26 Апреля 2015, 23:19:53
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 972
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Это не для престы. Одна ссылка на smf, другая для настройки vps. Для престы свой модуль нужен.

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