Menangani Ralat "Server has Gone Away" MySQL
Menjalankan pelayan untuk memproses fail dan melaporkan hasil kepada pelayan MySQL jauh sekali-sekala boleh membawa kepada ralat yang mengecewakan: "2006, pelayan MySQL telah hilang." Ini boleh berlaku apabila pemprosesan fail mengambil masa yang ketara dan sambungan antara klien (pelayan pejabat) dan pelayan MySQL tamat masa.
Walaupun tetapan "wait_timeout" telah disebut sebagai penyelesaian yang berpotensi, ia adalah penting untuk ambil perhatian bahawa ia merujuk kepada pelayan yang pejabat anda sedang berjalan. Melaraskan tetapan ini mungkin tidak menyelesaikan isu jika masalah terletak pada pelayan MySQL jauh.
Mendedahkan Punca Punca
Dalam kebanyakan kes, punca sebenar adalah rendah tetapan lalai untuk "max_allowed_packet," yang mengehadkan saiz maksimum data yang boleh dihantar dalam satu paket antara klien dan pelayan. Memproses fail besar mungkin memerlukan paket yang lebih besar daripada had lalai, menyebabkan pelayan memutuskan sambungan.
Meningkatkan Saiz Paket
Untuk membetulkannya, ubah suai "paket_maks_dibenarkan" tetapan dalam fail "/etc/my.cnf" (di bawah [mysqld]) pada pelayan pejabat anda. Menaikkannya kepada nilai yang lebih tinggi, seperti 8M atau 16M, biasanya menghapuskan ralat. Walau bagaimanapun, adalah penting untuk memilih saiz yang sesuai untuk keperluan khusus anda.
Nota Tambahan untuk Konfigurasi
Dengan menangani Tetapan "max_allowed_packet", anda boleh mengurangkan ralat "MySQL server has gone away" dengan berkesan dan memastikan sambungan yang stabil antara pelayan pejabat anda dan pelayan MySQL jauh semasa pemprosesan fail.
Atas ialah kandungan terperinci Mengapa Sambungan MySQL Saya Gagal dengan 'Pelayan Telah Pergi,' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!