質問: ### PHPから外部MySQLに接続できません。 GCP(Google Cloud Platform)でWEB環境を構築したいと思い 以下のページを参考にGCEでサーバ(centos7)を立ち上げ、ApacheとPHP5.6をインストールしました。 http://weblabo.oscasierra.net/centos7-php56-install/ 続けてGoogle Cloud SQLでMySQLサーバ(第二世代)を作成し アクセス制御ページでGCEの外部IPを追加しました。 GCEで立てたサーバから以下のコマンドでMySQLサーバに接続しDBを作成 mysql -uroot -p -h 'MySQLサーバIP' WEBサーバに以下のPHPファイルを置きmysqliでDB接続できるか確認したところ エラーが発生してしまい接続ができませんでした。 ``` prepare('SET NAMES utf8'); $stmt->execute(); ``` ### エラーメッセージ mysqliを実行した際のエラー文 ``` Warning: mysqli::mysqli(): (HY000/2002): Permission denied Connect failed: Permission denied ``` ### 疑問点 どうやればPHPから外部のMySQLへ接続できるのでしょうか? また、なぜコマンドでは接続ができてPHPからは接続できないのでしょうか? MySQLへのログインユーザーは同じものを利用しています。 サーバに関しての知識がまだ乏しいのですが、どなたかご教授お願い致します。
回答: SELinuxをoffにすれば接続できると思います。 ``` $ sudo setenforce 0 ``` OS再起動時も反映するために /etc/selinux/config も変更してください ``` SELINUX=enforcing ↓ SELINUX=disabled ```