При обновлении php до версии 5.3.x при запуске poller.php из пакета мониторинга сети cacti отображаются следующие ошибки:
PHP Deprecated: Function ereg_replace() is deprecated /usr/local/www/apache22/data/cacti/lib/rrd.php on line 31
PHP Deprecated: Function ereg_replace() is deprecated /usr/local/www/apache22/data/cacti/lib/snmp.php on line 247
PHP Deprecated: Function eregi_replace() is deprecated /usr/local/www/apache22/data/cacti/lib/snmp.php on line 289
PHP Deprecated: Function ereg_replace() is deprecated /usr/local/www/apache22/data/cacti/lib/snmp.php on line 247
PHP Deprecated: Function eregi_replace() is deprecated /usr/local/www/apache22/data/cacti/lib/snmp.php on line 289
Заменяем в файле /usr/local/www/apache22/data/cacti/lib/rrd.php строку 31
return ("(\\\$|`)", "", $command);
return ("/(\\\$|`)/", "", $command);
return ("/(\\\$|`)/", "", $command);
В файле /usr/local/www/apache22/data/cacti/lib/snmp.php заменяем строки:
- 27
("REGEXP_SNMP_TRIM", "(hex|counter(32|64)|gauge|gauge(32|64)|float|ipaddress|string|integer):");
("REGEXP_SNMP_TRIM", "/(hex|counter(32|64)|gauge|gauge(32|64)|float|ipaddress|string|integer):/");
("REGEXP_SNMP_TRIM", "/(hex|counter(32|64)|gauge|gauge(32|64)|float|ipaddress|string|integer):/");
- 203
$snmp_array[$o]["oid"] = ("^\.", "", $i);
$snmp_array[$o]["oid"] = ("/^\./", "", $i);
$snmp_array[$o]["oid"] = ("/^\./", "", $i);
- 237
$snmp_array[$i]["oid"] = (("(.*) =.*", "\\1", $temp_array[$i]));
$snmp_array[$i]["oid"] = (("/(.*) =.*/", "/\\1/", $temp_array[$i]));
$snmp_array[$i]["oid"] = (("/(.*) =.*/", "/\\1/", $temp_array[$i]));
- 247
$string = ((".*= ?", "", $string));
$string = (("/.*= ?/", "", $string));
$string = (("/.*= ?/", "", $string));
- 269
$string = ("hex: ?", "", $string);
$string = ("/hex: ?/", "", $string);
$string = ("/hex: ?/", "", $string);
- 289
$string = (REGEXP_SNMP_TRIM, "", $string);
$string = (REGEXP_SNMP_TRIM, "", $string);
$string = (REGEXP_SNMP_TRIM, "", $string);
Однако, ошибки всё равно есть:
PHP Deprecated: Function split() is deprecated /usr/local/www/apache22/data/cacti/poller.php on line 46
PHP Deprecated: Function split() is deprecated /usr/local/www/apache22/data/cacti/cmd.php on line 61
PHP Deprecated: Function split() is deprecated /usr/local/www/apache22/data/cacti/poller.php on line 168
PHP Deprecated: Function split() is deprecated /usr/local/www/apache22/data/cacti/cmd.php on line 61
PHP Deprecated: Function split() is deprecated /usr/local/www/apache22/data/cacti/poller.php on line 168
везде заменяем split на explode
($micro,$seconds) = (" ", ());
На самом деле, это не все ошибки, подумайте сами, как убрать, например, такое сообщение
PHP Deprecated: Assigning the return value of new by reference is deprecated /usr/local/www/apache22/data/cacti/lib/adodb/adodb.inc.php on line 866
PHP Deprecated: Assigning the return value of new by reference is deprecated /usr/local/www/apache22/data/cacti/lib/adodb/adodb.inc.php on line 872
PHP Deprecated: Assigning the return value of new by reference is deprecated /usr/local/www/apache22/data/cacti/lib/adodb/adodb.inc.php on line 872
865 if ($this->_queryID === true) { // return simplified recordset for inserts/updates/deletes with lower overhead
866 $rs =& new ADORecordSet_empty();
867 return $rs;
868 }
869
870 // return real recordset from select statement
871 $rsclass = $this->rsPrefix.$this->databaseType;
872 $rs =& new $rsclass($this->_queryID,$this->fetchMode);
873 $rs->connection = &$this; // Pablo suggestion
866 $rs =& new ADORecordSet_empty();
867 return $rs;
868 }
869
870 // return real recordset from select statement
871 $rsclass = $this->rsPrefix.$this->databaseType;
872 $rs =& new $rsclass($this->_queryID,$this->fetchMode);
873 $rs->connection = &$this; // Pablo suggestion
Рубрика:
Прочее