-
Incident report
-
Resolution: Unresolved
-
Trivial
-
None
-
2.4.3
-
None
-
Debian 7
Nginx 1.2.1
PHP 5.4.36
google autotranslate :
an error preg_match (): Unknown modifier 'C' [maps.php: 149 ? CView-> render () ? include () ? getActionMapBySysmap () ? getSelementsInfo () ? getIconByMapping () ? CGlobalRegexp-> match () ? preg_match () in /usr/share/zabbix/include/classes/regexp/CGlobalRegexp.php:141]
As I understand it, due to the fact that the content of the field data in the hardware information about the device has a "/", the function preg_match () incorrectly recognizes the regular expression. In the hardware data have lines like "DES-3200-28 / C1 Fast Ethernet Switch".
Edit the CGlobalRegexp.php, shielding slashes:
(141) $ expression = str_replace ('/', '\ /', $ this-> expression);
(142) $ result = (bool) preg_match ('/'.$ expression.' / ', $ String);
original
-------------------------------------------
????????? ??????
preg_match(): Unknown modifier 'C' [maps.php:149 ? CView->render() ? include() ? getActionMapBySysmap() ? getSelementsInfo() ? getIconByMapping() ? CGlobalRegexp->match() ? preg_match() in /usr/share/zabbix/include/classes/regexp/CGlobalRegexp.php:141]
??? ? ???, ??- ????, ??? ? ?????????? ???? ?????????? ?????? ? ???? ?? ?????????? ???????????? ???? "/", ??????? preg_match() ??????? ?????????? ?????????? ?????????. ? ?????????? ?????? ? ??? ?????? ???? "DES-3200-28/C1 Fast Ethernet Switch".
???? ????????? ? ???? CGlobalRegexp.php, ??? ????????????? ??????:
(141) $expression = str_replace('/', '\/', $this->expression);
(142) $result = (bool) preg_match('/'.$expression.'/', $string);