PHP fsockopen şey dönmüyor

3 Cevap php

Ben yeniden dağıtılmış veritabanı için bir PHP db sarıcı modifiye ediyorum.

İşte benim işlevi nasıl göründüğü:

public function connect() {

    $sock = @fsockopen('localhost', '6379',  $errno, $errstr, 2);

    if ($sock === FALSE) {
        return FALSE;
    }
    else {
        stream_set_timeout($sock, 2); 
        return $sock;
    }
}

Ne yapmak istiyorum benim paketine başka bir yerinden bu fonksiyonu çağırmak için:

 if ($this->connect() !== FALSE) {
      // Do stuff
 }

Nasıl fsockopen çalışmıyor zaman bir YANLIŞ göndermek için benim bağlantı fonksiyonu alabilirim?

Teşekkürler!

3 Cevap

Aşağıdaki kodu deneyin ve amaçlandığı şekilde çalıştığını görmek:

public function connect()
{
    $sock = @fsockopen('localhost', '6379',  $errno, $errstr, 2);

    if (!is_resource($sock))
        return FALSE;

    stream_set_timeout($sock, 2); 
    return $sock;
}
@fsockopen

Sen hatalarını bastırmak için gidiyor senin işlevi, önünde bir @ var. Hatası sıfır getiri veriyorsa, bir şey almak için gitmiyoruz. @ Çıkarın ve oturum veya çıkan herhangi bir hata veya uyarı görüntüler.