"MySQL server has gone away" sonra çıkmak için nasıl

2 Cevap php

Ben her dakika çalışan bir cron işi var. Arada bir de cron hata ile başarısız olur:

MySQL server has gone away

Sorun bu hata aşağıdaki tüm sorgu yürütülür ve bazen istenmeyen sonuç verebilir olmasıdır.

Peki nasıl hata oluştu ve kod kalanı çıkış yürütme olduğunu tespit ediyorsunuz?

Ya da ilk etapta hatayı düzeltmek konusunda herhangi bir ipucu harika olurdu.

2 Cevap

Hata yanıt vermeyen bir sunucuya bağlanarak neden gibi görünüyor, ya da dışarı zamanlama kalıcı bir bağlantı kullanıyorsanız.

Sen istemci API hata kodunu çeşit almak mümkün olacak, ve bağlantı hala geçerli olup olmadığını görmek için yakalamak gerekir.

Bu başarısız olursa, bir özel durum ve daha sonra programı durdurabilirsiniz.

$query_id = mysqli_query($conn_id, $query);
if(!$query_id )
{
    // throw an exception
    throw new DatabaseQueryException("An error occurred accessing the database.\nError: \n".mysqli_error($conn_id));
}

Ben sitemde ne kullanın

Hızlı bir düzeltme kalıcı mysql bağlantılarını kapatmak için. Daha iyi bir düzeltme canlı bir bağlantısı olan bir anlık elde edene kadar belirli bir hata yakalamak ve (PDO::__construct) bir tekrar bağlanma çağırmaktır. Ben sunucu bilgisayarı mysql bağlantı zaman aşımı düşüğe ise uyku ya gittiğinde ben sık sık bu hatayı olsun bulabilirsiniz.