Задать вопрос
JastaFly
@JastaFly

Mysql connect error [localhost]: (2002) No such file or directory (400)?

Есть сайт на Битриксе, у которого не удаётся подрубиться к базе по localhost:
[Bitrix\Main\DB\ConnectionException] 
Mysql connect error [localhost]: (2002) No such file or directory (400)
/home/bitrix/www/bitrix/modules/main/lib/db/mysqliconnection.php:85
#0: Bitrix\Main\DB\MysqliConnection->connectInternal()
	/home/bitrix/www/bitrix/modules/main/lib/data/connection.php:53
#1: Bitrix\Main\Data\Connection->getResource()
	/home/bitrix/www/bitrix/modules/main/lib/db/mysqlisqlhelper.php:21
#2: Bitrix\Main\DB\MysqliSqlHelper->forSql(string)
	/home/bitrix/www/bitrix/modules/main/lib/config/option.php:206
#3: Bitrix\Main\Config\Option::load(string)
	/home/bitrix/www/bitrix/modules/main/lib/config/option.php:83
#4: Bitrix\Main\Config\Option::getRealValue(string, string, boolean)
	/home/bitrix/www/bitrix/modules/main/lib/config/option.php:32
#5: Bitrix\Main\Config\Option::get(string, string, string)
	/home/bitrix/www/bitrix/modules/main/lib/httprequest.php:420
#6: Bitrix\Main\HttpRequest->prepareCookie(array)
	/home/bitrix/www/bitrix/modules/main/lib/httprequest.php:77
#7: Bitrix\Main\HttpRequest->__construct(object, array, array, array, array)
	/home/bitrix/www/bitrix/modules/main/lib/httpapplication.php:42
#8: Bitrix\Main\HttpApplication->initializeContext(array)
	/home/bitrix/www/bitrix/modules/main/lib/application.php:133
#9: Bitrix\Main\Application->initializeExtendedKernel(array)
	/home/bitrix/www/bitrix/modules/main/include.php:23
#10: require_once(string)
	/home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14
#11: require_once(string)
	/home/bitrix/www/bitrix/modules/main/include/prolog.php:10
#12: require_once(string)
	/home/bitrix/www/bitrix/header.php:1
#13: require(string)
	/home/bitrix/www/index.php:1
----------

Подскажите в чём может быть проблема?!?
  • Вопрос задан
  • 330 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Когда mysqli подключается к MySQL через localhost, он использует не сеть, а сокет юникс. Для этого должен быть правильно задан путь к файлу сокета - параметр mysqli.default_socket в php.ini. Он должен указывать на тот же файл, что и параметр socket в настройках MySQL.
Альтернатива - подключение через 127.0.0.1. В этом случае соединение будет установлено через сетевую подсистему.
Ответ написан
JastaFly
@JastaFly Автор вопроса
Решил проблему поменяв localhost на 127.0.0.1. и создав нового пользователя, для 127.0.0.1.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы