[ZBXNEXT-7080] Provide Frontend support for the upcoming PHP 8.0 + JIT Created: 2020 Jun 18  Updated: 2024 Apr 10  Resolved: 2022 Jul 15

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: 6.0.7rc1, 6.2.1rc1, 6.4.0alpha1, 6.4 (plan)

Type: Change Request Priority: Critical
Reporter: Edgar Akhmetshin Assignee: Zabbix Development Team
Resolution: Fixed Votes: 18
Labels: Frontend, PHP, PHP-FPM, PHP8
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Attachments: PNG File Screenshot 2022-06-08 at 09.45.16.png    
Issue Links:
Causes
causes ZBX-21355 Default Regular Expressions does not... Closed
causes ZBX-19323 Map view does not work with PHP8 Closed
Duplicate
is duplicated by ZBX-18984 >>Required parameter $sql_parts follo... Closed
is duplicated by ZBX-19323 Map view does not work with PHP8 Closed
is duplicated by ZBX-21113 "6.0-latest" tag is messed up with th... Closed
Sub-task
part of ZBXNEXT-7707 Packages for RHEL 9 Closed
part of ZBXNEXT-7624 Packages for Ubuntu 22.04 LTS (Jammy ... Closed
part of ZBX-20695 页面显示错误提示 Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
ZBXNEXT-7081 Update phpunit tests to run under PHP8 Change Request (Sub-task) Closed Alexander Vladishev  
ZBXNEXT-7082 PHP8: stop using deprecated function ... Change Request (Sub-task) Closed Reinis Detlavs  
ZBXNEXT-7467 PHP8: strict types in bitwise operators Change Request (Sub-task) Closed Aleksejs Cikuns  
ZBXNEXT-7473 PHP8: remove @ operator Specification change (Sub-task) Closed Andrejs Verza  
ZBXNEXT-7476 PHP8: strict types in php functions Specification change (Sub-task) Closed Roberts Lataria  
ZBXNEXT-7477 PHP8: PDO error mode Specification change (Sub-task) Closed Andrejs Verza  
ZBXNEXT-7478 PHP8: function arguments with default... Specification change (Sub-task) Closed Aleksejs Cikuns  
ZBXNEXT-7485 PHP8: debug backtrace fix Specification change (Sub-task) Closed Aleksejs Cikuns  
ZBXNEXT-7491 PHP8.1: PostgreSQL support Specification change (Sub-task) Closed Andrejs Verza  
ZBXNEXT-7564 PHP8.1 unable to import Media type Specification change (Sub-task) Closed Reinis Detlavs  
ZBXNEXT-7610 PHP8: Exclude function "strftime()" f... Specification change (Sub-task) Closed Reinis Detlavs  
ZBXNEXT-7611 PHP 8: silenced errors not silenced i... Change Request (Sub-task) Closed Reinis Detlavs  
ZBXNEXT-7722 Runtime errors when using Zabbix with... Change Request (Sub-task) Closed Andrejs Griščenko  
ZBXNEXT-7769 LDAP authentication broken in Zabbix ... Change Request (Sub-task) Closed Gregory Chalenko  
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: 5

 Description   

Steps to reproduce:
PHP 8 will be released on November 26, 2020. It's a new major version, which means that it will introduce some breaking changes, as well as lots of new features and performance improvements. PHP 8 is in very active development right now, with its first alpha expected on June 18, 2020



 Comments   
Comment by Alexei Vladishev [ 2022 Apr 08 ]

Just a quick status update. We are still working on this, support of PHP8 appeared to be much more complex than initially thought. No ETA yet.

Comment by Olexandr [ 2022 Apr 23 ]

Hello,
Please advice when approximately users will be able to install Zabbix 6.0 LTS on new Ubuntu 22.04 LTS release?
Thank you beforehand

Comment by Shawn Heisey [ 2022 Apr 23 ]

I already upgraded to  Ubuntu 22.  It has PHP 8.1.  Now the web frontend for zabbix doesn't work.  Oops.  Should have checked more carefully.

Comment by Shawn Heisey [ 2022 Apr 27 ]

No ETA yet.

Here we are nearly 3 weeks after saying No ETA. Is there any ballpark ETA now?

This is what I am currently getting from the 8.1 version of php-fpm being called by Apache 2.4.  This is after logging in, which SEEMS to work.  My zabbix version is "1:6.2.0~alpha2-1+ubuntu20.04" installed from the zabbix APT repository.

[Tue Apr 26 20:24:05.778368 2022] [proxy_fcgi:error] [pid 1628576] [client 127.0.0.1:45000] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught Error: Class "CMessageHelper" not found in /usr/share/zabbix/include/func.inc.php:2041
Stack trace:
#0 /usr/share/zabbix/include/func.inc.php(2300): error()
#1 /usr/share/zabbix/include/classes/core/CAutoloader.php(77): zbx_err_handler()
#2 /usr/share/zabbix/include/classes/core/CAutoloader.php(77): require('...')
#3 /usr/share/zabbix/include/func.inc.php(2041): CAutoloader->loadClass()
#4 /usr/share/zabbix/include/classes/api/wrappers/CFrontendApiWrapper.php(80): error()
#5 /usr/share/zabbix/include/classes/api/wrappers/CApiWrapper.php(82): CFrontendApiWrapper->callMethod()
#6 /usr/share/zabbix/include/classes/user/CWebUser.php(99): CApiWrapper->__call()
#7 /usr/share/zabbix/include/classes/core/ZBase.php(533): CWebUser::checkAuthentication()
#8 /usr/share/zabbix/include/classes/core/ZBase.php(193): ZBase->authenticateUser()
#9 /usr/share/zabbix/include/config.inc.php(25): ZBase->run()
#10 /usr/share/zabbix/index.php(24): require_once('...')
#11 {main}
  th...'

Is there some kind of fundamental difference in how PHP 8.1 handles includes compared to older version?  The CMessageHelper class file appears to be there.

Comment by Alexei Vladishev [ 2022 Apr 27 ]

elyograg, indeed PHP 8.x is fundamentally different comparing to previous releases. We want to keep our  code as strict and safe as possible, this requires manual review and additional testing. Some things cannot be automated unfortunately. I will try to update on ETA later today.

Comment by Shawn Heisey [ 2022 May 03 ]

6.2.0~beta1 dropped on the ubuntu repo, and now my zabbix frontend works again.  Thanks for your efforts!

 

Comment by Oleksii Zagorskyi [ 2022 May 03 ]

Let me note my observation:
on PHP8.0  zabbix 6.0 mostly worked. I could spot that IT services have some issues and global server status did not work, but most of the things worked.
But PHP 8.1 is different - any frontend page generates a lot of errors.

Comment by Alexey Pustovalov [ 2022 May 13 ]

Some Zabbix docker images are prepared to use PHP 8. I recommend do not use "latest" tag, use specific version instead. When 6.0.5 will be released Zabbix will be ready for PHP 8.0+.

Comment by Olexandr [ 2022 May 17 ]

Hello,
Please advice when approximately users will be able to install Zabbix 6.0 LTS (server + front-end)  on new Ubuntu 22.04 LTS release?
Thank you beforehand 

Comment by Alexander Vladishev [ 2022 Jul 15 ]

Documentation updated:

Comment by Stuardo Rodríguez [ 2022 Jul 15 ]

Is this only about PHP 8.0 support, or about the JIT too?  

I don't see anything in the "updated¨ documentation about JIT

Generated at Mon Jun 23 07:39:41 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.