Fedora のノート上で動いている Apache から、PHP の mysqli で外部データベースサーバに接続しようとしたところ、

Uncaught mysqli_sql_exception: Permission denied

で弾かれるという現象に悩まされてきました。原因は(いつもの)SELinux 絡みで、Apache から直接外部接続することが禁止されているためでした。

setsebool -P httpd_can_network_connect_db 1

で許可を与えると動作しました。

[root@delphinus php-fpm]# getsebool -a | grep httpd | grep connect
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
httpd_can_connect_mythtv --> off
httpd_can_connect_zabbix --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off

[root@delphinus php-fpm]# setsebool -P httpd_can_network_connect_db 1

[root@delphinus php-fpm]# getsebool -a | grep httpd | grep connect
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
httpd_can_connect_mythtv --> off
httpd_can_connect_zabbix --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> on

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です