Debian Buster - Apache2 и mysql, соединение с localhost, нет такого файла или каталога, работает с 127.0.0.1 - PullRequest
0 голосов
/ 31 марта 2020

Я должен дублировать сервер, используя старую версию программного обеспечения и несколько файлов на веб-сервере. Моя конфигурация: - Linux Busian Debian - Apache 2.4 - MariaDB 5.5.43 (порт 3306) - PHP 5.6

Когда я пытаюсь соединиться с PDO с помощью (localhost, root, pass ), У меня есть эта ошибка:

SQLSTATE [HY000] [2002] Нет такого файла или каталога

Когда я пытаюсь с 127.0.0.1, root, pass , это работает.

веб-сайт и скрипт используют все localhost много раз, поэтому я не могу изменить все.

У меня есть проверка на phpinfo () (на apache) сокет находится в /tmp/mysql.sock, и файл существует.

Когда я пытаюсь установить простое соединение pdo на PHP_CLI, работает как localhost, так и 127.0.0.1. Я ищу везде, и многие говорят о mysql .sock, но мой, наверное, в порядке. Я могу подключиться к mysql напрямую с localhost и 127.0.0.1, оба тоже работают.

Я не понимаю, почему apache не может использовать locahost для подключения к dabatase. В моем my.cnf также комментируется bind-адрес.

Я также проверил свои хосты, и он содержит строку localhost 127.0.0.1. Я настроил оба php .ini (apache2 и cli) для использования по умолчанию. путь к сокету.

Я использовал много дней, чтобы найти способ заставить mysql работать с локальным хостом и не найти никаких awnsers, работающих на меня.

Я пытаюсь использовать эту команду в mysql cli:

MariaDB [(none)]> show variables like '%sock%'
    -> ;
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| socket        | /tmp/mysql.sock |
+---------------+-----------------+

Я надеюсь, что вся необходимая информация предоставлена. Спасибо за вашу помощь!

...