php / php/php-src

SNMP::__construct() fails to resolve hostname with warning "Unknown failure while resolving hostname"

オープン
#20,752 コメント 8 件 リアクション 0 件 担当者 1 名 GitHub で見る

@devnexen がすでに取り組んでいます。

2026年1月19日 から。

Bug Extension: snmp Status: Needs Triage
主要言語
C
スター
40.4k
フォーク
8.2k
平均マージ
2日 13時間
マージ済み PR(30日)
96

説明

Description

The following code:

<?php

$session = new SNMP(SNMP::VERSION_2C, '127.0.0.1', 'public');
var_dump($session);

Resulted in this output:

PHP Warning:  SNMP::__construct(): Unknown failure while resolving '127.0.0.1' in /tmp/snmp_create_session.php on line 3
object(SNMP)#1 (8) {
  ["info"]=>
  array(3) {
    ["hostname"]=>
    string(0) ""
    ["timeout"]=>
    int(-1)
    ["retries"]=>
    int(-1)
  }
  ["max_oids"]=>
  NULL
  ["valueretrieval"]=>
  int(0)
  ["quick_print"]=>
  bool(false)
  ["enum_print"]=>
  bool(false)
  ["oid_output_format"]=>
  int(0)
  ["oid_increasing_check"]=>
  bool(false)
  ["exceptions_enabled"]=>
  int(0)
}

But I expected this output instead:

object(SNMP)#1 (8) {
  ["info"]=>
  array(3) {
    ["hostname"]=>
    string(9) "127.0.0.1"
    ["timeout"]=>
    int(-1)
    ["retries"]=>
    int(-1)
  }
  ["max_oids"]=>
  NULL
  ["valueretrieval"]=>
  int(0)
  ["quick_print"]=>
  bool(false)
  ["enum_print"]=>
  bool(false)
  ["oid_output_format"]=>
  int(0)
  ["oid_increasing_check"]=>
  bool(true)
  ["exceptions_enabled"]=>
  int(0)
}

The problem reproduces on 8.5.1, 8.4.16, and 8.4.15.

PHP Version
PHP 8.4.15 (cli) (built: Dec 11 2025 18:42:43) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.15, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.15, Copyright (c), by Zend Technologies

PHP 8.5.1 (cli) (built: Dec 21 2025 12:04:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.5.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.1, Copyright (c), by Zend Technologies
Operating System

Ubuntu 24.04.3 LTS

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。