Назад | Перейти на главную страницу

OpenShift: MySQL PDO «в соединении отказано», работает локально

У меня есть 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 не разрешает соединение? учитывая, что это работает на моей локальной машине?

Спасибо!

Попробуйте выполнить каждый из этих шагов, очистите кеш, обновите и проверьте

  1. Из $host = "127.0.0.1"; изменить на $host = "localhost";

  2. Проверьте, является ли порт по умолчанию 3306 или что-то еще. Проверьте имя процесса и порт

    netstat -tln

  3. включить skip-networking (закомментируйте #) в my.cnf

  4. Посмотреть в /etc/hosts а также чтобы там все было хорошо

  5. Также --bind-address если установлено 127.0.0.1, сервер принимает соединения только по этому адресу