

お世話になります。

あるSymfony入門書のコードを実践してみているのですが、selinuxをenforcingにするとmysqlでレコードを登録できずに行き詰まっていますので、お力を貸していただけないでしょうか？

エラーメッセージは、以下の通りです。  
An exception occured in driver: SQLSTATE[HY000] [2002] Permission denied

環境は、以下の通りです。  
CentOS7 php7 MariaDB Symfony3.04

ちなみに・・・  
selinux をPermissive にすると レコードの登録は可能です。

また、以前、同じサーバで入門サイト参考にして作成したものは、レコードの登録は可能です。  
こちらは selinuxをenforcing にしても登録可能です。

以上のことから、今、実践している分の selinux の設定が間違えているのかと思っているのですが、良く分かりません。

symfony のエラー部分を抜粋すると  
CRITICAL - Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException:
"An exception occured in driver: SQLSTATE[HY000] [2002] Permission denied" at
/home/www/classic-
symfony/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php
line 103

ですが、AbstractMySQLDriver.php は  
system_u:object_r:httpd_sys_content_t:s0 です。

以上、よろしくお願いします。


CC BY-SA 3.0
2016-04-29T06:54:16.963
24440
2018-05-16T02:40:53.517
2018-05-16T02:40:53.517
3060
15326
question
mysql symfony2 mariadb doctrine2 selinux
selinuxをenforcingにするとmysqlで登録できません（symfony3）


Enforcing でうまくいっているサーバーと `getsebool -a` に違いはないでしょうか。  
たとえば、`setsebool httpd_can_network_connect_db on` で許可を与えるとどうでしょうか。

/var/log/audit/audit.log に SELinux のポリシーに違反したもの("avc: denied")
が記録されていますので、それを調べると何かわかるかもしれません。


CC BY-SA 3.0
2016-04-30T05:57:23.947
24469
2016-04-30T05:57:23.947
4603
24440
answer