Provide Frontend support for the upcoming PHP 8.0 + JIT (ZBXNEXT-7080)

[ZBXNEXT-7722] Runtime errors when using Zabbix with php8.1 Created: 2022 May 17  Updated: 2024 Apr 10  Resolved: 2022 Jun 15

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: API (A), Frontend (F)
Affects Version/s: 6.0.5rc1, 6.2.0beta3
Fix Version/s: 6.0.6rc1, 6.2.0rc2, 6.2 (plan)

Type: Change Request (Sub-task) Priority: Trivial
Reporter: Sergejs Olonkins Assignee: Andrejs Griščenko
Resolution: Fixed Votes: 0
Labels: PHP8, error, runtime
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBX-21302 Graph takes long time to load content... Closed
Team: Team A
Sprint: Sprint 83 (Dec 2021), Sprint 84 (Jan 2022), Sprint 85 (Feb 2022), Sprint 86 (Mar 2022), Sprint 87 (Apr 2022), Sprint 88 (May 2022), Sprint 89 (Jun 2022), Sprint 90 (Jul 2022)
Story Points: 1

 Description   

The following runtime errors are observed when running Zabbix with php 8.1:

1.

Implicit conversion from float 433.5 to int loses precision [chart2.php:166 -> CLineGraphDraw->draw() -> CGraphDraw->drawHeader() -> imageText() -> imagettftext() -> CConfigFile->{closure}() in include/graphs.inc.php:543]
Implicit conversion from float 558.3583333333333 to int loses precision [chart2.php:166 -> CLineGraphDraw->draw() -> CLineGraphDraw->drawTimeGrid() -> CLineGraphDraw->drawDateTimeIntervals() -> CLineGraphDraw->drawMainPeriod() -> imageText() -> imagettftext() -> CConfigFile->{closure}() in include/graphs.inc.php:543]

2.

class_exists(): Passing null to parameter #1 ($class) of type string is deprecated [zabbix.php:22 -> require_once() -> ZBase->run() -> ZBase->processRequest() -> class_exists() -> CConfigFile->{closure}() in include/classes/core/ZBase.php:493]

3.

Implicit conversion from float 205.20000000000047 to int loses precision [chart2.php:166 -> CLineGraphDraw->draw() -> CLineGraphDraw->drawXYAxis() -> zbx_imagealine() -> zbx_colormix() -> imagecolorresolvealpha() -> CConfigFile->{closure}() in include/draw.inc.php:37]

4.

Implicit conversion from float 22.75 to int loses precision [imgstore.php:96 -> imageThumb() -> imagecreatetruecolor() -> CConfigFile->{closure}() in include/images.inc.php:79]
Implicit conversion from float 12.75 to int loses precision [imgstore.php:96 -> imageThumb() -> imagecopyresampled() -> CConfigFile->{closure}() in include/images.inc.php:94]

5.

imagefilledpolygon(): Using the $num_points parameter is deprecated [chart3.php:194 -> CLineGraphDraw->draw() -> CLineGraphDraw->drawXYAxis() -> imagefilledpolygon() -> CConfigFile->{closure}() in include/classes/graphdraw/CLineGraphDraw.php:733]

6.

str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated [sysmap.php:346 -> CView->getOutput() -> include() -> include() -> CRadioButtonList->__construct() -> zbx_formatDomId() -> str_replace() -> CConfigFile->{closure}() in include/func.inc.php:954]

7.

checkdate(): Passing null to parameter #1 ($month) of type int is deprecated [zabbix.php:22 -> require_once() -> ZBase->run() -> ZBase->processRequest() -> CController->run() -> CControllerScheduledReportCreate->doAction() -> CApiWrapper->__call() -> CFrontendApiWrapper->callMethod() -> CApiWrapper->callMethod() -> CFrontendApiWrapper->callClientMethod() -> CLocalApiClient->callMethod() -> CReport->create() -> CReport->validateCreate() -> CApiInputValidator::validate() -> CApiInputValidator::validateData() -> CApiInputValidator::validateObjects() -> CApiInputValidator::validateObject() -> CApiInputValidator::validateData() -> CApiInputValidator::validateDate() -> checkdate() -> CConfigFile->{closure}() in include/classes/validators/CApiInputValidator.php:2559]

8.

imagefilledpolygon(): Using the $num_points parameter is deprecated [chart.php:147 -> CLineGraphDraw->draw() -> CLineGraphDraw->drawXYAxis() -> imagefilledpolygon() -> CConfigFile->{closure}() in include/classes/graphdraw/CLineGraphDraw.php:733]
imagefilledpolygon(): Using the $num_points parameter is deprecated [chart.php:147 -> CLineGraphDraw->draw() -> CLineGraphDraw->drawXYAxis() -> imagefilledpolygon() -> CConfigFile->{closure}() in include/classes/graphdraw/CLineGraphDraw.php:818]


 Comments   
Comment by Andrejs Griščenko [ 2022 May 20 ]

Resolved in development branch feature/ZBXNEXT-7722-6.0.

Comment by Andrejs Griščenko [ 2022 Jun 15 ]

Fixed in:

Generated at Sat Apr 12 07:14:21 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.