- ベストアンサー
Centos5 PHPでMySQLへの接続に失敗する問題の解決方法
- Centos5上でのPHPからMySQLへの接続ができない問題に直面しました。
- rootユーザのパスワード設定やデータベースとユーザの削除などを試しましたが、接続できない状況は解消されませんでした。
- 接続元ホストの指定やログの確認も行いましたが、解決策が見つかりません。どなたかアドバイスをいただけないでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >プログラム、DBともにリモート先のサーバー上で稼働しています。 ですか・・・。 それじゃ、プログラム対MySQLはローカル同士ですね・・・。 SSHからコンソールでMySQLに接続できているのなら、疑うのはプログラムしかないかと・・・。
その他の回答 (4)
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 プログラムはローカル? 接続先DBがリモート? ちょっと環境がわかりませんが、DB側のポートは開いてるんですかね? (iptables)
お礼
iptablesは、動かしていません。 selinuxも入っていないので、ポートでブロックされてはいないと思います。 プログラム、DBともにリモート先のサーバー上で稼働しています。 php.ini上でもポート番号でデフォルト指定になっていたので、他のポートを使用しているとは考えにくいと判断したのですが、よくわかりません。 引き続き、よろしくお願い致します。
- wingstar
- ベストアンサー率37% (102/275)
あっ、申し訳ない。 php-mysqlは入ってるんですね。 あとは、phpinfoで確認してみるとか。 <?php phpinfo(); ?>
お礼
wingstarさん ご回答頂きましてありがとうございます。 上記をindex.phpとして作成し、ブラウザで表示してみましたが正常に表示されます。mysqlのモジュールも追加されていることが確認できました。 引き続き、よろしくお願い致します。
- wingstar
- ベストアンサー率37% (102/275)
php-mysql入ってる? # rpm -q php-mysql 入って無ければインストール。 # yum -y install php-mysql
- oktuburero
- ベストアンサー率22% (102/446)
php.ini側でMySQL接続のライブラリは有効にしているのか?
お礼
oktubureroさん ご回答ありがとうございます。 具体的に、ライブラリを有効にするパラメータはphp.iniのどこでしょうか? 教えて頂ければ幸いです。
お礼
taka451213さん こんばんは。 お世話になっております。 再度、ご回答頂きありがとうございます。 >プログラム対MySQLはローカル同士ですね・・・。 そうなりますね。 だとしましたら、#1さんの回答にもあります、php側に問題がありそうなのですが...。 なんとなくですが。 先ほどから、ググって調査していたのですが、/etc/my.cnfに記述されているmysqlソケットのパスをphp.iniでも記述する必要があるっていう記事を見つけました。 具体的には、php.iniのデフォルトでは、mysql.default_socketのパラメータがnull値なんですが、そこを明示的に示すと上手くいくようなんですよ。 しばし外出中ですので、帰宅次第ちょっとそちらを試してみます。
補足
taka451213さん こんばんは。 お世話になっております。 先ほど、下記に記載した方法を試してみました。そうしましたら、無事に接続できました。 なぜですかね、よくわかりません。笑 とりあえず、解決しましたこと嬉しく思っています。 この度は、ご回答頂きましてありがとうございました。