Skip to content

Conversation

@BastianLedererIcinga
Copy link

@BastianLedererIcinga BastianLedererIcinga commented Dec 1, 2025

Changes that had to be addressed

PHP 8.3 -> Php 8.4

Migration docs: https://www.php.net/manual/en/migration84

  • Function parameters that are null by default must be declared nullable.

PHP 8.4 -> PHP 8.5

Migration Docs: https://www.php.net/manual/en/migration85

  • Driver specific PDO constants are deprecated this affects some MySQL driver constants,
    instead of PDO::SQL<constant_name> use Pdo\Mysql::<constant_name>.

resolves: #94

sukhwinder33445
sukhwinder33445 previously approved these changes Dec 4, 2025
@BastianLedererIcinga BastianLedererIcinga force-pushed the support-php-8.4/8.5 branch 2 times, most recently from 9fc16d4 to be685ed Compare December 11, 2025 14:32
@lippserd lippserd changed the title Support php 8.4/8.5 Support PHP 8.5 Dec 18, 2025
…ibilty

Since PHP 8.4 implicitly nullable parameters are deprecated.
Since PHP 8.5 driver-specific PDO constants are deprecated,
their replacements are only available since PHP 8.4.
`scanDirectories` was set to `/usr/share/icinga-php` to simplify local testing,
as both the Icinga PHP Library and Icinga PHP Thirdparty are installed there in
our development environment. Our individual PHP library components, which make
up these libraries, are self-contained, as they define all necessary
dependencies themselves. This then requires testing with exactly these
dependencies instead of an arbitrary folder that could contain anything, e.g.,
dependencies in unexpected versions or dependencies that have not yet been
defined. For remote and local testing, `composer install` must be executed and
tests must be performed with exactly the resulting dependencies. Since PHPStan
uses the Composer autoloader by default, if available, `scanDirectories` does
not need to be defined at all.
…class

`PDOStatement::setFetchmode()` takes variable-length argument list as second parameter.
One of the extended local classed inside TestConnection did not match this siganture.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PHP 8.4/8.5 Support

3 participants