NagVis / nagvis

Visualization addon for your open source monitoring core
http://nagvis.org/
GNU General Public License v2.0
113 stars 73 forks source link

Problem with PHP 8.1 and NagVis 1.9.30 #313

Closed gabortakacs78 closed 2 years ago

gabortakacs78 commented 2 years ago

Hi,

Yesterday we tried to update our NagVis from 1.9.28 to 1.9.30. After update we get the following error immediately after NagVis website login:

Error: (0) preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated URL: /nagvis/frontend/nagvis-js/index.php File: /nagios/nagvis/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Compiler.php Line: 1695

0 [internal function]: nagvisExceptionErrorHandler(8192, 'preg_match(): P...', '/nagios/nagvis/...', 1695)

1 /nagios/nagvis/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Compiler.php(1695): preg_match('#^(['"]).*?\1$#', NULL)

2 /nagios/nagvis/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Compiler.php(1302): Dwoo_Compiler->parseFunction('

I guess "preg_match" is deprecated in PHP 8.1...

Temporary solution was: rollback NagVis update to 1.9.28

Today we downgraded PHP 8.1.4 to 8.0.17. NagVis 1.9.28 still works, later today or tomorrow we will try to update Nagvis to 1.9.30 once again...

OS: Linux iuaw155 3.10.0-1160.59.1.el7.x86_64 #1 SMP Wed Feb 16 12:17:35 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Is there any plan to have latest Nagvis compatible with PHP 8.1.x?

Thanks!

Taki

PepeOnAChair commented 2 years ago

Hello, I just confirm I have same problem with Nagvis 1.9.32 (night buid from 26.4.2022) and PHP 8.1.5

NagVis website http://ip.ad.re.ss/nagvis/ says:

_Error: (0) preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated URL: /nagvis/frontend/nagvis-js/index.php File: /usr/lib/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Compiler.php Line: 1695

0 [internal function]: nagvisExceptionErrorHandler()

1 /usr/lib/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Compiler.php(1695): preg_match()

2 /usr/lib/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Compiler.php(1302): Dwoo_Compiler->parseFunction()

3 /usr/lib/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Compiler.php(758): Dwoo_Compiler->parse()

4 /usr/lib/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo/Template/String.php(369): Dwoo_Compiler->compile()

5 /usr/lib/nagvis/share/frontend/nagvis-js/ext/dwoo-1.1.0/Dwoo.php(363): Dwoo_Template_String->getCompiledTemplate()

6 /usr/lib/nagvis/share/frontend/nagvis-js/classes/NagVisHeaderMenu.php(85): Dwoo->get()

7 /usr/lib/nagvis/share/frontend/nagvis-js/classes/FrontendModOverview.php(77): NagVisHeaderMenu->__toString()

8 /usr/lib/nagvis/share/frontend/nagvis-js/classes/FrontendModOverview.php(55): FrontendModOverview->showViewDialog()

9 /usr/lib/nagvis/share/server/core/functions/index.php(120): FrontendModOverview->handleAction()

10 /usr/lib/nagvis/share/frontend/nagvis-js/index.php(53): require('...')

11 {main}_

OS is Debian 11: Linux Nagvis 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64 GNU/Linux

hope it helps someone to fix it ;) thank you Pep.

BTW: downgrading to Nagvis 1.9.28 does not work here