私は PHP 5.6.20、PDO (例外のみをスロー)、および MySQL 5.6.28 を永続的な接続で使用しており、すべてが utf8mb4 です。私のスタック全体は utf-8 用にセットアップされています (dsn 文字列設定、接続、データベース サーバー データベース、テーブル、列、Apache 2.4.12、PHP、すべての Web ページ、CSS ... 名前を付けます)。
次のエラー メッセージが断続的に表示され、不可解で迷惑です。
Notice: PDO::__construct(): 5 バイトの送信が errno=32 で失敗しました ファイル /foo/bar/baz の壊れたパイプ
永続的な接続が非対話型の接続であると仮定すると、MySQL 5.6 のマニュアル (5.1.4 サーバー システム変数) には、サーバー システム変数について次のように記載されていますwait_timeout
。
非対話型接続を閉じる前に、サーバーが
非対話型接続のアクティビティを待機する秒数。
デフォルト: 28800 秒
(28000 sec / 1) * (1 hour / 3600 sec) = 8 hours
最大: 31536000 秒
((31536000 sec / 1) * (1 hr / 3600 sec) * (1 day / 24 hrs) = 365 days
したがって、永続的な接続が必要かどうかを確認wait_timeout
して判断してください。また、切断された永続的な接続を考慮して、アプリケーションをより堅牢にするために投資する必要があります。明らかに、クライアントが次の日に戻ってきて (その夜家に帰った後)、「一体何?!」と言ってほしくないのは明らかです。my.cnf