4
4

More than 5 years have passed since last update.

[PHP] PHP実行中にMySQLとの接続がすぐ切れる。

Posted at

PHP 5.5 と MySQL 5.5 の組み合わせでは何も問題なかったのに
PHP 5.2 と MySQL 5.1 にしたらハマっちゃいました。

php
$dbh = new mysqli($host, $user, $pass, $db);

と何の気なしに書いて、単体テストでも問題なく動作していたが
連結テストをすると、なぜかクエリが失敗する現象が発生。

原因は、時間のかかる処理をPHP内で行っていたことに寄与する、
PHPとMySQLの接続時間タイムアウトでした。

php
$dbh = mysqli_init();
$dbh->real_connect($host, $user, $pass, $db, $port, $socket, MYSQLI_CLIENT_INTERACTIVE);

というふうに、real_connect()を利用し、MySQLのinteractive_timeoutを使う。

はじめ、

php
$dbh = mysqli_init();
$dbh->options(MYSQLI_OPT_CONNECT_TIMEOUT,3600)
$dbh->real_connect($host, $user, $pass, $db, $port);

を指定したけど、変わらずでした。
まだ全然追求してません、ご了承ください。

4
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4