PHP Interactive Shell の使用中に MySQL データベースを常に利用できるようにする方法は?
最初にDBに接続するとすぐにタイムアウトするという問題があります。システム管理者が MySQL データベースのタイムアウトを 10 秒 (アイドル) に設定しましたが、その値を変更できません。ただし、この値は、シェルを使用して Propel オブジェクトと対話するのに十分な長さではありません。MySQLサーバーの設定を変更せずに方法を探します。
例えば
// Assume that User is the Propel class
$con = User::create();
$first = $con->findPk(2); // Still alive
sleep(11);
$second = $con->findPk(1); // Dead -- Return NULL
MySQL 変数の詳細 (これらの変数を変更することは許可されていないことに注意してください)
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 360 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 28800 |
+----------------------------+-------+