У меня есть API, который я хочу развернуть в OpenShift, все работает локально, но при попытке использовать его в Интернете возникают некоторые проблемы. При попытке подключиться к базе данных, используя PDO, я получаю эту ошибку:
Не удалось подключиться к базе данных: SQLSTATE [HY000] [2002] В соединении отказано
У меня правильно настроена база данных, и у меня есть правильные данные для подключения (я почти уверен). вот код:
$username = "myuser";
$password = "lmnop";
$host = "127.0.0.1";
$dbname = "loginapi";
$port = "3306";
$db = new PDO("mysql:host={$host};port={$port};dbname={$dbname};charset=utf8", $username, $password, $options);
что может быть не так, что OpenShift не разрешает соединение? учитывая, что это работает на моей локальной машине?
Спасибо!
Попробуйте выполнить каждый из этих шагов, очистите кеш, обновите и проверьте
Из $host = "127.0.0.1";
изменить на $host = "localhost";
Проверьте, является ли порт по умолчанию 3306 или что-то еще. Проверьте имя процесса и порт
netstat -tln
включить skip-networking
(закомментируйте #) в my.cnf
Посмотреть в /etc/hosts
а также чтобы там все было хорошо
Также --bind-address
если установлено 127.0.0.1, сервер принимает соединения только по этому адресу