2016-01-08 4 views
2

я получаю эту ошибку не знаю причину SQLSTATE[HY000] [2002] Permission denied и здесь есть веб-сайт, на котором я tryiing загрузить файл example.com.SQLSTATE [HY000] [2002] Отказано в

+1

Вам нужно будет изменить/установить идентификатор пользователя и пароль базы данных MYSQL в вашем приложении, чтобы соответствовать тому, что вы или ваша хостинговая компания установили в – RiggsFolly

+2

. Пожалуйста, прочитайте [Какие темы я могу задать] (http://stackoverflow.com/help/on-topic) и [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) И [идеальный вопрос] (http: //codeblog.jonskeet. ик/2010/08/29/письменный заместитель совершенного вопроса /) – RiggsFolly

ответ

4

Это происходит потому, что selinux избегает соединений db с сервера httpd на удаленный сервер db. Чтобы решить эту проблему, вам необходимо получить доступ к серверу через ssh или просто открыть консоль, если у вас есть предварительные acces и выполните следующие действия:

Вы должны проверить SELinux, если в порту 80. Вы можете проверить его набрав # semanage port -l | grep http_port_t для списка и проверить:

http_port_t tcp 443, 488, 8008, 8009, 8443, 9000

Если вам нужно добавить нужный порт, просто введите:

# semanage port -a -t http_port_t -p tcp 80

Введите команду для ckeck раз в получить:

# semanage port -l | grep http_port_t

.

http_port_t tcp 80, 443, 488, 8008, 8009, 8443, 9000

Затем вы должны уведомить SELinux Вы хотите разрешить сетевые соединения с сервером HTTPd к БД удаленного сервера, седений логические переменные, которые отличают его:

  1. вниз службы HTTPd # service httpd stop
  2. # setsebool httpd_can_network_connect 1
  3. # setsebool httpd_can_network_connect_db 1
  4. Вверх по HTTPd службы # service httpd start

Теперь ваша служба httpd должна быть способна получать данные с сервера db.

Я надеюсь, что это может быть полезно для банды, которая ищет решения таких ошибок.

От Чили, с наилучшими пожеланиями.

Смежные вопросы