PHP Compatibility - openises/tickets GitHub Wiki
PHP Compatibility
This page documents PHP compatibility for the TicketsCAD v3.44 Legacy release, which is the current stable version available for download.
TicketsCAD 3.44.1+ supports PHP 7.0 through 8.4+ via a built-in compatibility layer.
Verified Test Matrix (v3.44.2)
Tested on April 2, 2026 against MariaDB 10.11 using automated Docker test suite:
| PHP Version | Build | HTTP | Tables | Admin | Compat | Passwords | XSS Safe | Fatals | Result |
|---|---|---|---|---|---|---|---|---|---|
| 8.4.19 | OK | 200 | 110 | OK | OK | 3/3 | Yes | 0 | PASS |
| 8.3.30 | OK | 200 | 110 | OK | OK | 3/3 | Yes | 0 | PASS |
| 8.2.30 | OK | 200 | 110 | OK | OK | 3/3 | Yes | 0 | PASS |
| 8.1.33 | OK | 200 | 110 | OK | OK | 3/3 | Yes | 0 | PASS |
| 8.0.30 | OK | 200 | 110 | OK | OK | 3/3 | Yes | 0 | PASS |
| 7.4 | N/A | — | — | — | — | — | — | — | Docker build fails (Buster archived) |
PHP 7.4 works on existing installations (XAMPP, shared hosting) but cannot be tested via Docker because Debian Buster's apt repositories were archived in 2024. The compat layer polyfills all necessary functions.
Supported Versions
| PHP Version | Status | Notes |
|---|---|---|
| 8.4 | Recommended | Current release, fully tested |
| 8.3 | Supported | Fully tested |
| 8.2 | Supported | Default in Docker image |
| 8.1 | Supported | strftime() deprecation suppressed |
| 8.0 | Supported | each() and create_function() polyfilled |
| 7.4 | Legacy | End of life, works on existing installs |
| 7.0–7.3 | Best effort | May work, not actively tested |
Compatibility Layer
The file incs/compat.inc.php automatically polyfills functions removed in newer PHP versions:
| Function | Removed In | Polyfill |
|---|---|---|
utf8_encode() / utf8_decode() |
PHP 8.2 | mb_convert_encoding() fallback |
each() |
PHP 8.0 | Manual array iteration |
create_function() |
PHP 8.0 | eval() wrapper |
FILTER_SANITIZE_STRING |
PHP 8.1 | Maps to FILTER_DEFAULT |
str_contains() / str_starts_with() / str_ends_with() |
Added in 8.0 | Backported for PHP 7.x |
Deprecation warnings from strftime(), null parameter passing, and ${var} interpolation are suppressed.
Recommended Version
PHP 8.2 is the recommended version. It's the default in the Docker image and receives active security updates.
Checking Your PHP Version
php -v
Or visit http://your-server/tickets/tools/diagnose.php for a full compatibility check.