• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • snmp_read_mib()

    (PHP 5, PHP 7)

    Reads and parses a MIB file into the active MIB tree

    说明

    snmp_read_mib(string $filename): bool

    This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used.

    The order in which the MIBs are loaded does matter as the underlying Net-SNMP libary will print warnings if referenced objects cannot be resolved.

    参数

    $filename

    The filename of the MIB.

    范例

    Example #1 Using snmp_read_mib()

    <?php
     print_r( snmprealwalk('localhost', 'public', '.1.3.6.1.2.1.2.3.4.5') );
     
     snmp_read_mib('./FOO-BAR-MIB.txt');
     print_r( snmprealwalk('localhost', 'public', 'FOO-BAR-MIB::someTable' );
    ?>
    

    The above example is made up but the results would look like:

         
    Array
    (
        [iso.3.6.1.2.1.2.3.4.5.0] => Gauge32: 6
    )
    Array
    (
        [FOO-BAR-MIB::someTable.0] => Gauge32: 6
    )
    
    If you are trying to import mibs with dependencies on other mibs you will have to set the MIBDIRS environment variable.
    Unix / Linux: export MIBDIRS=/home/<user>/MIBS:/usr/share/snmp/mibs
    Window: Good luck! No really. Try this url out. It has everything that you need to know about setting environment vars in windows.
    http://vlaurie.com/computers2/Articles/environment.htm
    Importing massive Mibs located in a directory
    <?php
    /******************** Loading Mibs **************/
     $mib_path='YourPath';  
     if ($handle = opendir($mib_path)) 
     { echo "Directory handle: $handle <br>";
      echo "Files: <br>";
      while (false !== ($file = readdir($handle))) 
      { if($file!='.')
        { if($file!='..')
         { echo "Read : ";    
          echo "$mib_path.$file";
          if(snmp_read_mib($mib_path.'\\'.$file)) echo " Succesful <br>";
          else echo " Failed <br>";
         }
        }
      }
    }
    closedir($handle);
    ?>