質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2178閲覧

Google Cloud SQL‎にブラウザから接続できません

moekey

総合スコア11

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2016/07/09 18:08

GCPでCentOS6のVMインスタンス及びMysql5.6のインスタンスを作成し、
phpで以下のmysqlに接続するコードを実行すると、
SSH接続したコンソール(putty)上では問題なく接続できますが、

ブラウザから下記コードにアクセスすると、
「Error:SQLSTATE[HY000] [2003] Can't connect to MySQL server on '【GoogleCloudSQLの外部IPアドレス】' (13)」
と表示されアクセスできません。

このようにSSH接続したコンソール上でphpを実行した場合と、
ブラウザからphpファイルにアクセスした場合で挙動が異なる事が初めての為、解決の糸口が見つからない状況です…
もし、原因がおわかりになる方がいらっしゃいましたら、是非ご助力お願い致します。

<実行したソースコード>


<?php $dsn = 'mysql:dbname=【スキーマ名】;host=【GoogleCloudSQLの外部IPアドレス】'; $user = 'root'; $password = '【パスワード】'; try{ $dbh = new PDO($dsn, $user, $password); print('<br>'); if ($dbh == null){ print('接続に失敗しました。<br>'); }else{ print('接続に成功しました。<br>'); } }catch (PDOException $e){ print('Error:'.$e->getMessage()); die(); } $dbh = null; ?> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ブラウザからphpファイルへアクセスした時にエラーとなるとのことですが
SELinuxの設定はどうなっているでしょうか?
Consoleからの実行は問題なく、ブラウザからだと接続できないとなるとセキュリティに引っかかっている可能性があるのかと思います。
一度SELinuxの設定を一時的に無効にしてみてください。

# setenforce 0

これで繋がるようであれば
/etc/selinux/configにあるSELINUX=disabledにし、サーバを再起動させればOKだと思います。

投稿2016/07/25 08:58

deadcode

総合スコア216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moekey

2016/07/26 12:43

仰るとおりSELinuxの設定が問題でした! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問