この度、OSのクリーンインストールに伴って、XAMPPの最新版(1.7.2)をインストールしました。(これまで使用していたバージョンは失念しました)
確認のために、これまでの環境で問題なく動いていたシステムを試してみると、これまでと比較にならない位に動作が遅くなりました。(これまで一瞬で表示されていたページが数秒待たされます)
PHPのコードに問題が紛れ込んだのかと、レンタルサーバー上で動作確認してみましたが問題なく表示されますので、やはりローカル環境(XAMPP)のみの問題だと思います。
色々と原因を探っていくうちに、mysql_close()をコメントアウトすると、これまで通りの体感速度で動作するようになりました。
というわけで、mysql_close()にかなりの時間がかかっているようなのですが、PHPやMySQL(XAMPP)のバージョンが変わった事によって、このような現象が起こる可能性はあるのでしょうか?
それとも、何か設定などを変更することで解消されるのでしょうか?
php5.2.xとphp5.3.0の間でも、内部で大掛かりな変更が加えられているため、
例え、運用実績を重ねてきたコードでも、再度十二分なテストが必要になります。
PHP: PHP 5.2.x から PHP 5.3.x への移行 - Manual
コード全体を眺めてみないと決定打的なものは出せませんが、
mysql_close()の件については、式や条件分岐などが不適切で、
不必要にCLOSEに跳んでいたりといった可能性もありそうですから、
考えうる挙動パターンを列挙して、十二分にテストなさることをお勧めします。
mysql_closeに引数(link_identifier)を指定していますか?
XAMPP 1.7.2 に入っている PHP 5.3.0 は、それ以前のバージョンと比べてかなり仕様変更されています。mysql_closeの場合も、引数を指定していないと、不具合が発生するようです。
ご回答ありがとうございます。
mysql_connectの戻り値をmysql_closeの引数として指定しています。
ご回答ありがとうございます。
SQLを1つ投げているだけの単純な関数の処理時間を計測してもやはり遅いので、不必要にmysql_close()を呼んでいることはないと思います。