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

Не удается подключиться от EC2 к RDS через PHP. Я могу прямо подумать

Я установил экземпляр EC2, на котором установлены mysql и php-mysql (не mysql-server).

Я установил экземпляр RDS и установил группу безопасности для экземпляра EC2.

я жестяная банка подключиться через командную строку из EC2, но когда я пытаюсь подключиться через mysqli, я получаю сообщение: Не удается подключиться к серверу MySQL на «XXXX.xxxxxxx.us-east-1.rds.amazonaws.com»

Я впервые работаю с обоими.

Я что-то упустил?

define("HOST", "XXXX.xxxxxxx.us-east-1.rds.amazonaws.com");
define("DBUSER", "my_user");
define("PASS", "********");
define("DB", "mydb");
define("PORT", 3306);

$link=mysqli_connect(HOST,DBUSER,PASS,DB,PORT); 

// Check connection
if (mysqli_connect_errno($link)){
    echo "Failure to connect: " . mysqli_connect_error();
}

mysqli_close($link);

Я нашел аналогичная проблема.

Решением было запустить setsebool -P httpd_can_network_connect=1

Мне это помогло:

Я удалил спецификацию порта в своем DSN. Тогда удалось подключить EC2 к RDS.

Ссылка на сайт: https://stackoverflow.com/questions/23955446/sqlstatehy000-2005-unknown-mysql-server-host-mysql1-alwaysdata-com3306-2

Мне пришлось внести изменения в SELinux, моим экземпляром был RHEL6.

setsebool httpd_can_network_connect=1 setsebool httpd_can_network_connect_db on

Что мне показалось странным, так это то, что SELinux не регистрировал ничего необычного в /var/log/audit/audit.log