SNMP เป็นโปรโตคอลมาตรฐานสำหรับการบริหารจัดการอุปกรณ์ทางด้านเครือข่าย คือสามารถที่จะดึงค่าที่ต้องการ หรือคอนฟิกค่าของอุปกรณ์ได้
การที่จะสามารถเขียน PHP ให้เรียกใช้ฟังก์ชั่นเกี่ยวกับ snmp ได้ ต้องติดตั้งโมดูล php-snmp
ใส่แผ่นดีวีดี Fedora 11 แล้วติดตั้งไฟล์ rpm ต่อไปนี้ตามตัวอย่าง
[root@fc11-64min ~]# mount /dev/scd0 /media/ mount: block device /dev/sr0 is write-protected, mounting read-only [root@fc11-64min ~]# cd /media/Packages/
ติดตั้ง net-snmp
ต้องลงโปรแกรม net-snmp ก่อนที่จะติดตั้ง โมดูล php-snmp
[root@fc11-64min Packages]# rpm -i lm_sensors-3.1.0-1.fc11.x86_64.rpm [root@fc11-64min Packages]# rpm -i net-snmp-libs-5.4.2.1-10.fc11.x86_64.rpm [root@fc11-64min Packages]# rpm -i net-snmp-5.4.2.1-10.fc11.x86_64.rpm
ติดตั้งไฟล์ net-snmp-utils และโมดูล php-snmp เพิ่มเติมโดยสองไฟล์นี้ต้องดาวน์โหลดมาจาก Fedora 11 Everything
[root@fc11-64min ~]# rpm -i net-snmp-utils-5.4.2.1-10.fc11.x86_64.rpm [root@fc11-64min ~]# rpm -i php-snmp-5.2.9-2.fc11.x86_64.rpm
ใช้คำสั่ง service เพื่อรีสตาร์ตเว็บเซิร์ฟเวอร์
[root@fc11-64min Packages]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
ทดสอบ php-snmp
ทดลองเรียกใช้ฟังก์ชั่น snmpwalk เพื่อดึงค่า MIB ที่เกี่ยวกับ system จาก IP 192.168.1.254
[root@fc11-64min html]# cat test-snmp.php <?php $_ret = snmpwalk('192.168.1.254', 'public', 'system'); print_r($_ret); ?>
[root@fc11-64min html]# php test-snmp.php
Array ( [0] => STRING: Linux ... [1] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 ...