スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Apache2.2 + PHP5.3 + MySQL5.1をWindowsにインストールする6

D:¥www¥htdocs内にtest.phpというファイルを作り、以下のコードを記述する

<?php
mysql_connect("localhost", "root", "qwas12") or die ("Connect Error!!");
echo "Connected!!";
?>


http://localhost/test.phpにアクセスする。

MySQLにログインできればConnented!!と表示される。
ログインできなければCoennect Error!!と表示される。



んで結果は・・・



Warning: mysql_connect() [function.mysql-connect]: [2002] 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったた (trying to connect via tcp://localhost:3306) in D:¥www¥htdocs¥test.php on line 2

Warning: mysql_connect() [function.mysql-connect]: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。 in D:¥www¥htdocs¥test.php on line 2 Connect Error!!






何で??????

何でなの???????????


phpinfoにはこんな風に表示されてたよ??????????
phpinfo1


ちなみにPHP5.2には含まれていましたが、PHP5.3にはlibmysql.dllは含まれていません。
MySQLにlibmysql.dllが含まれています。



-----------------------------------------

その後

-----------------------------------------

なんとトラブルの原因はhostsファイルにあったのだ!
OSがVistaだからXPやWindows7は知らないが、Vistaの場合はhostsファイルに以下の記述がある。
これをコメントアウトするのだ!

::1 localhost

;::1 localhost




あとPathの修正。
MySQLのPathをPHPのPathの後ろに持っていった。




それと、php5.2でMySQLに接続できない場合の対策。
ええと、PHP5.2に含まれるlibmysql.dllをMySQLのbinディレクトリに上書きします。
MySQLのBinディレクトリに元々入っているlibmysql.dllとPHPの相性が悪かったんでしょうかね。
ちなみにこの状態でPHP5.3とPHP5.2を切り替えましたがどちらも問題なく利用できました。




ということで、無事に終わりました。
スポンサーサイト

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

[PHP][MySQL] mysql_connect で MySQL サーバへの接続をオープンする。

引用元: PHP: mysql_connect - Manual $link = mysql_connect(’localhost’, ’mysql_user’, ’mysql_password’); if (!$link) { &#160;&#160;&#160;&#160;die(’接続できませんでした: ’ . mysql_error()); } echo ’接続に成功しました’; mysql_close($link); ?&#...

コメント

Secret

No title

PHP5.3でmysqlに接続できなく、ここに辿り着いた者です。

同じ症状が出ていたので記事通りに設定したのですが、
まだ改善されておりません。未だにタイムアウト的な物です。

確かに5.3にはlibmysql.dllが含まれておりませんでした。この事は気にしなくていいのでしょうか?
他サイト様で「C:WindowsSystem32」配下にこのファイルをコピーするという記事を見ましたので。

何かお気づきの点などあればご教授願えませんか?
宜しくお願い致します。

Re: Re: No title

誰も見てないだろうと思ってブログ放置モード突入してました。
返信遅くなって本当にすみません。


>確かに5.3にはlibmysql.dllが含まれておりませんでした。この事は気にしなくていいのでしょうか?

MySQLインストールフォルダのbinフォルダに入ってるので問題ないです。
ちなみにlibmysql.dllをPHPフォルダにコピーする必要もないです。
これは環境変数のpathでMySQLインストールフォルダのbinフォルダを登録しているからです。
当方の環境もPHPフォルダ(サブフォルダ含めて)にlibmysql.dllは置いてないです。


>他サイト様で「C:Windows¥System32」配下にこのファイルをコピーするという記事を見ましたので。

環境変数のPathにMysqlインストールフォルダのbinフォルダを登録します。(当方の環境では「D:MySQL5.1¥bin」)
この作業によりsystem32にlibmysql.dllを入れる必要はありません。
PHPのpathの後にMysqlのpathを入れてみるといいかもしれません。
※参考に当方の環境変数のPath
D:¥Perl¥site¥bin;D:¥Perl¥bin;%SystemRoot%¥system32;%SystemRoot%;%SystemRoot%¥System32¥Wbem;D:¥php;D:¥MySQL5.1¥bin;

あとはhostsファイルの「::1 localhost」を先頭にセミコロンをつけて「;::1 localhost」となっているか確認してみてください。
編集後はOSの再起動をしてみるといいかもしれません。
たぶん、原因はhostsファイルなのではないかと思います。

No title

あ、あとPHP5.2に含まれるlibmysql.dllをMySQLのbinフォルダに入っているlibmysql.dllを差し替えるといいかもしれません。
プロフィール

sekaisan3812

Author:sekaisan3812
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。