PHP 5.3.0, 5.3.1 et 5.3.2 n'ont pas de support SNMP. Le support SNMP a été restauré en PHP 5.3.3.

La distribution Windows de Net-SNMP contient les fichiers SNMP dans le dossier mibs. Ce dossier doit être inclus dans les variables d'environnement de Windows, comme MIBDIRS, avec comme valeur le chemin complet vers le dossier mibs : i.e. c:\usr\mibs.

Note importante pour les versions de PHP antérieures à 5.4.0 : afin d'utiliser le paquet UCD SNMP, vous devez mettre la variable NO_ZEROLENGTH_COMMUNITY à 1 avant de compiler. Après avoir configuré UCD SNMP, éditez le fichier config.h ou le fichier acconfig.h et recherchez la valeur NO_ZEROLENGTH_COMMUNITY. Décommentez la ligne contenant le #define. Cela doit ressembler à ceci :

Ensuite, compilez PHP avec l'option --with-snmp[=DIR] .

Si vous rencontrez des erreurs étranges de "segmentation fault", lors de l'utilisation des commandes SNMP, c'est que vous n'avez pas suivi les recommandations précédentes. Si vous ne voulez pas recompiler UCD SNMP, vous pouvez aussi recompiler PHP avec l'option --enable-ucd-snmp-hack qui évitera cette erreur.

add a note add a note

User Contributed Notes 5 notes

3 years ago
There is no "mibs" directory in the php package, I check with 5.2,5.4,5.5 and 5.6, none of them has the net-snmp mibs folder.

What you have to do is download the source of net-snmap and copy the folder into your unpacked php folder besides the instructions provided above

net-snmap download link

after you download, unzip the file and copy folder mibs to your php folder
7 years ago
In order to build and install php in Ubuntu 12.10, beyond the normal "build-essential" package, I had to install the following packages: apache2-prefork-dev  libxml2-dev libsnmp libsnmp-dev libtool

Command line should be like this:

sudo apt-get install apache2-prefork-dev libxml2-dev libsnmp libsnmp-dev libtool
flintjt att hotmail dot com
8 years ago
For win32 (tested on win XP and 2k3 server 32bit):
Tested with versions 5.3.3 VC9, and 5.3.6 VC9.
The php_snmp.dll, requires that you set the environment variable MIBDIRS pointed to your MIBs folder.
Darren Wolfe
7 years ago
If PHP complains that some mibs are missing and they are not included in your windows php package, they can be obtained from the source package of net-snmp itself.
bug404 at free dot fr
5 years ago
If net-snmp was not installed in default c:\usr folder (which may be the case for most peoples used to Windows instead of Linux), then, you should also create SNMP_PERSISTENT_DIR system environment variable with "persistent" folder location (located in snmp folder).
Otherwise, php will will create its own persistant folder in c:/usr/snmp/persistent folder, which is probably not what you want !
To Top