PHP+MySQLのテスト環境として、XAMPPを利用しています。

この度、OSのクリーンインストールに伴って、XAMPPの最新版(1.7.2)をインストールしました。(これまで使用していたバージョンは失念しました)

確認のために、これまでの環境で問題なく動いていたシステムを試してみると、これまでと比較にならない位に動作が遅くなりました。(これまで一瞬で表示されていたページが数秒待たされます)

PHPのコードに問題が紛れ込んだのかと、レンタルサーバー上で動作確認してみましたが問題なく表示されますので、やはりローカル環境(XAMPP)のみの問題だと思います。

色々と原因を探っていくうちに、mysql_close()をコメントアウトすると、これまで通りの体感速度で動作するようになりました。

というわけで、mysql_close()にかなりの時間がかかっているようなのですが、PHPやMySQL(XAMPP)のバージョンが変わった事によって、このような現象が起こる可能性はあるのでしょうか?

それとも、何か設定などを変更することで解消されるのでしょうか?

回答の条件
  • 1人3回まで
  • 登録:2009/11/06 00:46:15
  • 終了:2009/11/10 20:50:42

回答(2件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012009/11/06 01:30:57

ポイント35pt

php5.2.xとphp5.3.0の間でも、内部で大掛かりな変更が加えられているため、

例え、運用実績を重ねてきたコードでも、再度十二分なテストが必要になります。

PHP: PHP 5.2.x から PHP 5.3.x への移行 - Manual


コード全体を眺めてみないと決定打的なものは出せませんが、

mysql_close()の件については、式や条件分岐などが不適切で、

不必要にCLOSEに跳んでいたりといった可能性もありそうですから、

考えうる挙動パターンを列挙して、十二分にテストなさることをお勧めします。

id:dy7

ご回答ありがとうございます。

SQLを1つ投げているだけの単純な関数の処理時間を計測してもやはり遅いので、不必要にmysql_close()を呼んでいることはないと思います。

2009/11/06 12:11:07
id:horonict No.2

horonict回答回数257ベストアンサー獲得回数512009/11/06 11:24:38

ポイント35pt

mysql_closeに引数(link_identifier)を指定していますか?


XAMPP 1.7.2 に入っている PHP 5.3.0 は、それ以前のバージョンと比べてかなり仕様変更されています。mysql_closeの場合も、引数を指定していないと、不具合が発生するようです。

http://jp.php.net/manual/ja/function.mysql-close.php#94002

id:dy7

ご回答ありがとうございます。

mysql_connectの戻り値をmysql_closeの引数として指定しています。

2009/11/06 12:14:38

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません