MySQL&PHP - データベース接続が中断されました:(通信パケット読み取りエラー)

MySQL&PHP - データベース接続が中断されました:(通信パケット読み取りエラー)

PHPバージョン5.6

CodeIgniter 'CI_VERSION', '2.1.3'100項目を繰り返すPHPプログラム(で実行)があります。

Apache(Codeigniter経由)は私に500エラーそして、実際に何が起こったのかについての記録はログにありません。

mySQL/var/log/mysql/error.log has行は次のようになります。

[Note] Aborted connection 899 to db: 'dbname' user: 'username' host: 'localhost' (Got an error reading communication packets)

/var/lib/mysql/ns1.log の最後の数行 - エラーはありません。

2019-07-26T02:08:10.254327Z   581 Connect   username@localhost on dbname using Socket
2019-07-26T02:08:10.254499Z   581 Init DB   dbname
2019-07-26T02:08:10.254607Z   581 Query SET NAMES utf8
2019-07-26T02:08:10.255229Z   581 Query SHOW TABLES FROM `dbname`
2019-07-26T02:08:10.257569Z   581 Query SELECT `value`
FROM (`multiscraper_settings`)
WHERE `key` =  'ts'
2019-07-26T02:08:10.257962Z   581 Query SELECT `value`
FROM (`multiscraper_settings`)
WHERE `key` =  'au'
2019-07-26T02:08:10.258304Z   581 Query SELECT `value`
FROM (`multiscraper_settings`)
WHERE `key` =  'au'
2019-07-26T02:08:10.261331Z   581 Quit  

SQLクエリエラーがないと確信しています。エラーがある場合は、すべてのロギングが有効になってログに表示されるためです(このエラーが発生した場合と同様)。

25個のプロジェクトを一括してプログラムを実行すると、500個のエラーなしに100個のプロジェクトがすべて正常に完了します。ここでは、いくつかの変数が上限に達したようです。無制限に変更したため、これは最大PHPスクリプトの実行時間ではありません。

この問題の原因は何だと思いますか?

ベストアンサー1

数日間の研究の終わりに、PHPバージョンを5.6から7.2に変更することにしましたが、100のプロジェクトをすべて問題なく処理するようでした。

実際になぜこれが起こるのかわかりませんが、PHP 5.6のバグかもしれませんが、7.2で修正されました。

更新:はい、今強く見えます!

アップデート2:数十回のテストを行った後も引き続き発生しますが、頻度は減少することがわかりました。たとえば、71回の繰り返し後に失敗しました。以前は、繰り返し回数が35回を超えなかったため、確かにより強力になりました。

おすすめ記事