2016-06-06 4 views
0

Vielleicht habe ich keinen Kaffee mehr, vielleicht ist es nur, weil es Montag ist, aber für das Leben von mir bin ich mir nicht sicher, was ich falsch mache. Ich habe php-snmp.x86_64 5.3.3-47.el6 über yum installiert, php.x86_64 zu 5.3.3-47.el6 als yum erforderlich aktualisiert und Apache neu gestartet, aber ich bin noch nicht in der Lage, ein neues SNMP-Objekt zu erstellen wie so (nehmen Variablen instanziiert vorher):Klasse SNMP nicht auf CentOS 6 gefunden

$snmp = new SNMP(SNMP::VERSION_2C, $ip, $community, $snmp_timeout); 

Fehlerprotokoll Zustände "PHP Fatal error: Class 'SNMP' nicht gefunden". Leute in verschiedenen Foren sagen, dass es nur in PHP 5.4 verfügbar ist, aber wenn das der Fall war, warum konnte ich es installieren? Die PHP-SNMP-Installationsseite gibt an, dass die SNMP-Unterstützung in PHP 5.3.3 wiederhergestellt wurde.

Ich hoffe, dass dies nur einer dieser dummen Fehler ist, die mit einem fehlenden Include behoben werden können, aber was fehlt mir hier?

phpinfo (von Apache, nicht CLI) nimmt die folgenden in Bezug auf SNMP:

Configure Command: --enable-ucd-snmp-hack 
Additional .ini files parsed: /etc/php.d/snmp.ini 
NET-SNMP Support enabled 
NET-SNMP Version 5.5 

Antwort

0

dieses Modul installieren, können Sie die SNMP functions in PHP verwenden. Die meisten von ihnen sind für immer (wie die PHP 4.0 Tage) und erfordern sicherlich nicht SNMP 5.4. Sie sind nur grundlegende Wrapper um die C-API-Funktionen und bieten keinen objektorientierten Zugriff auf SNMP.

Die SNMP class, auf der anderen Seite, ist eine neue Funktion von PHP 5.4, so wird nicht auf einer solchen alten Version verfügbar sein.

Ich würde Remis Repository empfehlen, um auf eine moderne PHP-Version zu aktualisieren. Details finden Sie unter this answer, obwohl sich die URLs möglicherweise geändert haben.