After Director upgrade from very old version infrastructure errors

Hi all,
after upgrading the director from a very early version I got several error messages, which I could mostly fix, but the following one I could not fix:

Declaration of Icinga\Module\Director\Web\Table\ObjectsTableZone::applyObjectTypeFilter(Zend_Db_Select $query) should be compatible with Icinga\Module\Director\Web\Table\ObjectsTable::applyObjectTypeFilter(Zend_Db_Select $query, ?Zend_Db_Select $right = NULL)

This is followed by some php output.
It occurs in the Director Icinga Infrastructure submenu and is identical for Icinga Api users, Endpoints and Zones.

Has anyone an idea how to fix this?

Many thanks in advance

  • Icinga Web 2 version 2.9.3
  • Used modules
    cube 1.1.1
    director 1.8.1
    doc 2.9.3
    fileshipper 1.2.0
    graphite 1.1.0
    incubator 0.6.0
    monitoring 2.9.3|
  • Icinga 2 version used 2.13.1
  • PHP version used 7.3.29
  • Centos 7.9
1 Like

I don’t see ipl and reactbundle in your modules, which are requirements for director.

The Director module is also where things get hard in terms of PHP packages and versioning. You’ll want to make sure you have ALL necessary php libraries installed, and that they are the correct version and line up with your version of PHP.

https://icinga.com/docs/icinga-director/latest/doc/02-Installation/

ipl and reactbundle are required up to director 1.8.0 or so, but in the latest version 1.8.1 they are part of the director module. Both modules are now deprecated.
Luckily I found the solution, some php scripts use now (Zend_Db_Select $query, ?Zend_Db_Select $right = NULL) but original it was only (Zend_Db_Select $query), and both variants were used in the scripts.
Using the first extended variant everywhere solved my problem.

1 Like

Hi RGWenke, I am facing a similar issue. Can you please guide me on how did you use the first extended variant everywhere?.