- ベストアンサー
PHPでのMySQL接続エラーについて
PHPを使用してMySQLサーバに接続しようと思うのですが、どうしても "Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 2" と表示されて接続できません。いろいろ試してみたので、情報を列挙いたします。 動作環境 OS:WindowsXP Pro Apache2.2.8 PHP5.2.6 MySQL5.0 1.コマンドプロンプトからはMySQLに正常に入ることが可能です。 2.上記のエラーが出るPHPプログラムは以下の通りです。 "<?php %conn = mysql_connect("localhost", "root", "password"); ?> 3.phpMyAdminを使って接続しようとしても以下のエラーが出ます。 #2003 - サーバが応答しません" 4.セキュリティソフトを終了させて接続しても同様の症状でした。 5.phpinfo()関数は正常に動作し、mysqlやmysqliの情報も表示されます。 以上の内容ですが、よろしくお願いいたします。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
phpinfo()でMySQLの情報は出るでしょうか?
その他の回答 (9)
- shosho2_2
- ベストアンサー率0% (0/1)
私も同様なエラーで3日間、四苦八苦しております。 解決したようであれば、お手数ですがお教えください。
お礼
MySQLをアンインストールして、インストール先のフォルダの削除して、インストールしなおしたら直りました。原因はわかりませんが、設定のファイルがアンインストールしても残ったままになっていたのかもしれません。
- nora1962
- ベストアンサー率60% (431/717)
「telnet localhost 3306」とやっても応答はありませんか?
- little-m
- ベストアンサー率44% (45/102)
以下のサイトに似た事例がありました。 http://www.geocities.jp/nonoyamajp/C32nd/MySQLNotStart/MySQLNotStart.htm
- hrm_mmm
- ベストアンサー率63% (292/459)
php5のマニュアルでは、システム環境変数path にphpをインストールしたディレクトリーを追加する方法が推奨されています。 http://jp.php.net/manual/ja/faq.installation.php#faq.installation.addtopath
お礼
お返事ありがとうございます。 環境変数にPHPをインストールフォルダへパスを入れています。パスに間違いがないかも確認したのですが、きちんと入っています。
- fa-ce
- ベストアンサー率42% (9/21)
phpフォルダ内のlibmysql.dllをC:\WINDOWS\system32にコピーしましたか? Apache/logsフォルダ内のerror.logにヒントらしきエラーログが出ることが多いので見てみてください。
お礼
お返事ありがとうございます。 libmysql.dllはWindowsフォルダやsystem32フォルダにコピーして試してみました。ですが、同じ状況のようです。
- junkUser
- ベストアンサー率56% (218/384)
MySQLの動作はコマンドで確認したとのことですが、 ネットワーク経由の確認でしょうか? mysql -h localhost -u root -p で確認してみてください。
お礼
コマンドプロンプトで確認したのはネットワーク経由の確認ではありません。ちなみに、 mysql -u root -p ******** や mysql -h localhost -u root -p ******** でやってもコマンドプロンプトからはmysqlに入ることができました。
補足
先ほどphp.ini-distを使ってphp.iniを設定したり、php.iniのmysql設定を確認したのですが、貴方と全くおなじ設定でした。
- Tasuke22
- ベストアンサー率33% (1799/5383)
参考になるかどうか、私のphp.ini-distのMySQLに 関する部分です。 [MySQL] mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off 因みに mysql_close($conn); もセットで入れてみては どうでしょうか? 更に、XAMPPですと、インストール一発で全部動きます が、そんなヤワな方法は拒絶されますか?
お礼
お返事ありがとうございます。 自分のphp.iniはphp.ini-distではなくphp.ini-recommendedを使用しています。もしかするとphp.ini-distの方で動くかもしれないので試してみます! 追記 XAMPPはなるべく避けたいと思います。助言ありがとうございます。
補足
mysql_close($conn);を追加してもエラーは出るようです。 Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 2 Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 3
- Tasuke22
- ベストアンサー率33% (1799/5383)
失礼、出るのですね・・・何でしょうかね。 もう少し考えて見ます。
- Tasuke22
- ベストアンサー率33% (1799/5383)
%connは$connの写しミスでしょうか?
お礼
すみません。%connと載せていましたが、"$conn"が正解です。
お礼
お返事ありがとうございます。 phpinfo()でmysqlの情報はでます。 MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 5.0.51a Directive Local Value Master Value mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port no value no value mysql.default_socket no value no value mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off