PHPでmysqliクラスを使用するのに問題があり、どこにも答えを見つけることができませんでした。
私のスクリプトでは、クラスはその関数全体で使用するmysqli接続を作成します。その後、このスクリプトは分岐します。接続は子によっても使用されますが、子が死んだときに親で接続が閉じられる(MYSQLサーバーがなくなった)という問題が発生しています。
mysqliに切り替える前に(mysqlを使用していた)、親プロセスでクエリを実行する前に、mysql_pingを呼び出してdb接続が存在することを確認しました。Mysqliにも同様のping機能がありますが、接続が失われた場合、実際には再接続されません。mysqli.reconnect = ONグローバル設定をうまく使用してみました(php.iniとini_setを使用)。
php mysql_connect関数を使用すると、既存の接続を取得できるため、mysqliの代わりにmysqlを使用している場合は、プロセスが分岐した直後に子で接続を再利用できます。しかし、mysqliにはそのような機能がないようです...
私ができた唯一のことは、mysqli-> ping()を呼び出すことでした。それがfalseを返した場合は、親のデータベースに再接続します。これはひどく非効率的であり、mysqlに戻す必要があるmysqliで正しく行う方法(および手動で再接続する必要がない)を理解したいと思います。
助言がありますか?