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

# socket_last_error

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

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

### 説明

function socket_last_error(?Socket `$socket` = `null`): int

Socket クラスのインスタンスをこの関数に渡すと、この特定のソケットに発生した 直近のエラーが返されます。`socket` が `null` の場合、 直近にエラーを発生したソケット関数のエラーコードが返されます。 後者は、失敗した場合にソケットを返さない 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() を使用してください。

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open