socket_last_error

ソケットの直近のエラーを返す

説明

int socket_last_error(Socketnull $socket = null)

Socket クラスのインスタンスをこの関数に渡すと、この特定のソケットに発生した 直近のエラーが返されます。socketnull の場合、 直近にエラーを発生したソケット関数のエラーコードが返されます。 後者は、失敗した場合にソケットを返さない socket_create のような関数や 特定のソケットに直接関係ない理由で失敗する可能性がある socket_select で特に有用です。 このエラーコードは、指定したエラーコードを表す文字列を得るために socket_strerror に渡すものとしても適しています。

エラーが発生していない場合や socket_clear_error でクリアされた後である場合は、 この関数は 0 を返します。

パラメータ

socket

socket_create で作成した Socket クラスのインスタンス。

戻り値

この関数は、ソケットのエラーコードを返します。

変更履歴

バージョン 説明
8.0.0 socket は、Socket クラスのインスタンスになりました。 これより前のバージョンでは、リソース型でした。
8.0.0 socket は、nullable になりました。

例1 socket_last_error の例

<?php
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if ($socket === false) {
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);
    
    die("ソケットを作成できません: [$errorcode] $errormsg");
}
?>

注意

注意:

socket_last_error はエラーコードをクリアしません。 クリアするには socket_clear_error を使用してください。