Я должен дублировать сервер, используя старую версию программного обеспечения и несколько файлов на веб-сервере. Моя конфигурация: - 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 |
+---------------+-----------------+
Я надеюсь, что вся необходимая информация предоставлена. Спасибо за вашу помощь!