phpday 2025 - Call For Papers

radius_add_server

(PECL radius >= 1.1.0)

radius_add_serverサーバーを追加する

説明

radius_add_server(
    resource $radius_handle,
    string $hostname,
    int $port,
    string $secret,
    int $timeout,
    int $max_tries
): bool

radius_add_server() は複数回コールされることも ありえます。また、radius_config() とともに 使用されることでしょう。最大で 10 までのサーバーを指定できます。 複数のサーバーが指定されると、有効なレスポンスを受信するか あるいは各サーバーへの接続回数が max_tries をこえるまでラウンドロビン形式でのアクセスを試みます。

パラメータ

radius_handle

hostname

hostname はサーバーのホストを FQDN あるいはドット区切りの IP アドレス形式で指定します。

port

port は、サーバーとの接続に使用する UDP ポートを指定します。0 を指定すると、このライブラリは ネットワークサービスデータベースから radius/udp あるいは radacct/udp サービスを 検索し、見つかったポートを使用します。見つからなかった場合は 標準の Radius ポート、すなわち認証には 1812、 課金には 1813 を使用します。

secret

secret パラメータには、サーバーホストに 対する共有秘密鍵が渡されます。Radius プロトコルは、共有秘密鍵の 最初の 128 バイト以外を無視します。

timeout

timeout パラメータには、サーバーから 応答を受信する際のタイムアウトを秒単位で指定します。

max_tries

結果が返ってこなかった場合に最大何回までリクエストを繰り返すかを max_tries に指定します。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 radius_add_server() の例

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
echo
'RadiusError:' . radius_strerror($res). "\n<br>";
exit;
}
?>

参考

  • radius_config() - 指定した設定ファイルをライブラリに読み込ませる

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top