Pelayan MySQL terputus sambungan selepas 60 saat
Latar belakang masalah
Saya sedang melaksanakan pertanyaan SQL yang sebelum ini berfungsi dengan baik mengalami ralat, yang tamat masa selepas 60 saat dan menyebabkan ralat. Walaupun pertanyaan itu perlahan, ia dijalankan sebagai sebahagian daripada tugasan setiap malam, jadi itu bukan masalah per se (jadi tolong jangan cadangkan saya untuk mengoptimumkannya).
Butiran Masalah
Saya menghasilkan semula ralat dengan menjalankan "select SLEEP(120); (lihat di bawah) daripada PHP. Walau bagaimanapun, menjalankan perkara yang sama daripada klien MySQL The pernyataan akan berjaya (kembali 0). Saya cuba melaraskan tunggu_masa tamat (ditetapkan kepada 28800) tetapi tanpa kejayaan saya juga memulakan semula pelayan pangkalan data dan mesin itu sendiri
ralat sentiasa tamat selepas 60 saat isu persediaan dan bukannya isu had sumber
Maklumat Sistem
Kod ujian, output dan SHOW VARIABLES
[Hasil ujian kod, output dan SHOW VARIABLE berada dalam Ditinggalkan di sini]Penyelesaian
Pilihan php mysql.connect_timeout adalah punca masalah ini bukan sahaja digunakan untuk tamat masa sambungan tetapi juga untuk menunggu permintaan pertama daripada pelayan . Satu respons. Anda boleh meningkatkannya seperti ini: ini_set('mysql.connect_timeout', 300);ini_set('default_socket_timeout', 300);
Atas ialah kandungan terperinci Mengapa Tamat Masa Sambungan MySQL Saya Selepas 60 Saat, Walaupun `wait_timeout` Ditetapkan Lebih Tinggi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!