前言

最近需要开发AC的snmp协议,需要开启php的snmp扩展,网上能搜索到的主要还是windows和centos下面的几篇资料。这里主要介绍下mac系统下如何搭建php的snmp开发环境。

第一步,安装php:

首先需要在mac上面安装PHP,这个方法有很多,我当时是用brew install php 安装的,安装后的版本是8.1.7

billyshen@Billys-MacBook-Pro-2 snmp % php -v
PHP 8.1.7 (cli) (built: Jun  9 2022 14:21:07) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.7, Copyright (c), by Zend Technologies

通过php -m命令我们可以查看现有的扩展,这里我们发现并没有snmp模块

第二步,安装SNMP扩展

如果第一步中的php你是源码安装的,那你可以直接去到原来的安装包,执行扩展安装;如果你是像我一样通过brew安装的话,(我反正没找到安装包在哪),就去PHP官网下载一个源码包,这里我发现不一定要下载一模一样的版本包,我下载了php-8.1.13.tar.gz,也能用。

  1. 解压php-8.1.13.tar.gz
  2. cd php-8.1.13/ext/snmp
  3. ./configure –with-snmp
  4. make
  5. make install

第三步,打开php.ini配置

通过php –ini找到php.ini,然后将extension=snmp前面的;去掉即可。
再实现php -m 看下效果

billyshen@Billys-MacBook-Pro-2 snmp % php -m | grep snmp
snmp

说明扩展安装成功。

第四步,测试代码

<?php
$test = snmpget("192.168.0.81", "public", "1.3.6.1.2.1.1.5.0");
echo $test."\n";
?>

执行后,输出:
在这里插入图片描述

搞定!


参考:

php如何安装snmp扩展
基于php的snmp管理端开发
Net-Snmp_on_Ubuntu
Mac 解决安装brew卡在 “Cloning into ‘/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core‘…”