質問: 以下のようなPHPでローカルからレンタルサーバー上のMySQLデータベースにアクセスしようと試みています。 ローカルサーバー上でブラウザで実行するとタイムアウトエラーで止まってしまいます。PDO関連のエラーもしくは権限の関係だと考えているのですがあまりよくわかりません。 ``` setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//エラーモードの設定 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);//プリペアステートメントを利用できるようにする print "接続しました... "; } catch(PDOException $Exception) { die('エラー :' . $Exception->getMessage()); } ?> ```
回答: レンタルサーバーがどこか不明ですが、通常の「レンタルサーバー」において mysql の待受ポート(3306)への接続が許可されているわけがありません。 ・VPSなどルート権限があるサーバーでかつ、あなたが管理者で、適切な設定がされている場合。 ・SSHトンネルを使って無理やり接続する。(SSH接続が可能なサーバーであること) 上記以外には方法はありません。