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回を超えなかったため、確かにより強力になりました。