Невозможно подключиться к удаленной БД через CodeIgniter - PullRequest
1 голос
/ 02 июля 2019

Я запускаю приложение CodeIgniter на виртуальной машине RHEL7.Я пытаюсь подключить его к другому удаленному серверу БД.Я получаю Message: mysqli::real_connect(): (HY000/2002): Permission denied

Я попробовал следующее:

  1. Успешно подключен к серверу БД через командную строку на сервере приложений с помощью
    mysql -u username -p -h host.domain.edu -P 1234, а затемпароль.Я добираюсь до CLI MySQL.Успешно
  2. Успешно подключен к серверу БД через приложение CI с моего локального сервера.
    Я установил config/database.php с учетными данными в локальном приложении и могу подключиться к удаленной БД.
  3. Написал ванильный сценарий PHP для подключения к БД и запуска его на сервере приложений, и он тоже отлично работает.
  4. Но не удалось подключить приложение CI на удаленном сервере к серверу БД.

Порт уже открыт и прослушивает трафик с IP моего сервера приложений, брандмауэр не проблема (я думаю).Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Возможное решение здесь: SQLSTATE [HY000] [2002] В доступе отказано так как кажется, что проблема связана с подключением к MySQL из HTTP-потока веб-сервера - как вы упомянули, он нормально работает из CLI -.

Недавно у меня возникла такая же проблема, когда я переместил решение php в ОС Centos7. Все, что мне нужно было сделать, это разрешить httpd подключаться к сети.

0 голосов
/ 03 июля 2019

Просмотрев Интернет, я узнал, что SELinux препятствует подключению httpd к удаленным серверам. Мне пришлось установить следующие 2 флага на true, и это сработало для меня.

setsebool -P httpd_can_network_connect 1 
setsebool -P httpd_can_network_connect_db 1

Источник

...