array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.socket-last-error.php', 1 => 'socket_last_error', ), 'up' => array ( 0 => 'ref.sockets.php', 1 => 'ソケット 関数', ), 'prev' => array ( 0 => 'function.socket-import-stream.php', 1 => 'socket_import_stream', ), 'next' => array ( 0 => 'function.socket-listen.php', 1 => 'socket_listen', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/sockets/functions/socket-last-error.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_last_error — ソケットの直近のエラーを返す
Socket クラスのインスタンスをこの関数に渡すと、この特定のソケットに発生した
直近のエラーが返されます。socket
が null
の場合、
直近にエラーを発生したソケット関数のエラーコードが返されます。
後者は、失敗した場合にソケットを返さない
socket_create() のような関数や
特定のソケットに直接関係ない理由で失敗する可能性がある
socket_select() で特に有用です。
このエラーコードは、指定したエラーコードを表す文字列を得るために
socket_strerror() に渡すものとしても適しています。
エラーが発生していない場合や
socket_clear_error() でクリアされた後である場合は、
この関数は 0
を返します。
この関数は、ソケットのエラーコードを返します。
バージョン | 説明 |
---|---|
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() を使用してください。