04.01.2018 10:18
OlegON
 
Не совсем по базе, но опишу в этом разделе.
Итак, при переходе на другой дистрибутив стала вылезать ошибка
Цитата:
mysqli::__construct(): (HY000/2002): No such file or directory
у меня база на том же хосте, поэтому есть смысл подключать по сокетам, что и не работало. По TCP 127.0.0.1 коннектилась без проблем, а сокеты - ни в какую.
Приседал по разному, прописывал в my.ini клиентский и серверный сокет, прописывал в php.ini
Код:
mysqli.default_socket = /tmp/mysql.sock
проверял в коде
Код:
ini_get("mysqli.default_socket")
убеждался, что сокет на месте, не видит и все, хоть убейся. Причем, если в конструкции
Код:
  $mysqli = new mysqli($host, $user, $password, $dbname, $port, $socket);
указать $socket, то все работало замечательно, но светило таким переписыванием кода, что стал разбираться дальше.
Решение нашлось. Посмотрел в дистрибутиве, где именно по умолчанию лежит сокет и положил его именно туда. И все заработало. Видимо, где-то хардкод по этому пути и игнор параметра. В моем случае это /var/lib/mysql/mysql.sock, но подчеркну, что в куче найденного в интернете были, например, совсем другие пути.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.