try {
$fp = fsockopen($site, $port, $errno, $errstr, 2);
}
catch(Exception $ex) {
echo 'error';
}
私は私が@
を使用することができることを知っている警告がfsockopen
PHPでfsockopenエラーを処理する方法は?
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: No such host is known.
と
Warning: fsockopen(): unable to connect to www.myrandsitedf.net:80 (php_network_getaddresses: getaddrinfo failed: No such host is known.)
のために与えられていることを確認していながら、なぜcatch
は、動作していませんエラー/警告メッセージを抑制しますが、これがエラーを処理する正しい方法ではないと思います。
また、私のホストのCronjobは、PHPファイルにエラーがあるのを許可していません。@
で解決できません。
PHPは手続き理由関数**決して例外をスローしない**彼らは失敗時に真偽値を返します。機能が突然例外を投げ始めると、fail-by-booleanメソドロジで書かれたすべての「古い」スクリプトが破られます。正確に[文書化された](http://php.net/fsockopen): '呼び出しが失敗した場合、FALSEを返します。 ' –