Executive summary

This report checks whether the test-server environment is ready for application testing on PHP 8.4.

PHP 7.4 legacy environment is active The report is working, but PHP 8.4 has not yet been assigned to this subdomain.
Test domain upgrade.apg-repository.com
Active PHP version 7.4.33
Environment status PHP 7.4 active
Readiness score 90%
9 of 10 server checks passed.
Read-only verification This page only reads and displays PHP configuration information. It does not update project files, modify the database, change the PHP version or alter server settings.

Current server configuration

Values detected from the active PHP environment on this test subdomain.

Configuration Detected value Technical importance
PHP version 7.4.33 Must show PHP 8.4.x for final migration testing.
PHP interface cgi-fcgi Shows how PHP is connected to the web server.
Operating-system family Linux Identifies the underlying server platform.
Server software Apache Identifies the active web-server software.
HTTPS Enabled HTTPS must be enabled before production use.
Memory limit 2048M Important for PDF and Excel report generation.
Upload limit 256M Controls the maximum individual upload size.
POST limit 256M Should be greater than the upload-size limit.
Maximum execution time 300 seconds Important for large reports and file processing.
Maximum input variables 1000 Important for forms with many fields.
File uploads Enabled Must be enabled for document uploads.
Error display Enabled Enable for testing and disable on production.
Error logging Enabled Should be enabled on the production server.
Time zone Asia/Kolkata Should match the application business time zone.

PHP 7.4 and PHP 8.4 technical comparison

The following differences may affect the existing PHP 7.4 application during migration.

Technical area PHP 7.4 PHP 8.4 Application impact
Platform status Legacy PHP generation and unsuitable for long-term hosting. Modern PHP generation intended for current application maintenance. Migration reduces platform-level security and maintenance risks.
Performance Older execution engine and runtime optimizations. Improved runtime performance, memory management and optimization. Application pages and background processes may run more efficiently.
Error handling Some invalid operations produced notices, warnings or false values. More invalid operations produce TypeError, ValueError or exceptions. Existing code must correctly validate input and handle exceptions.
Type checking More permissive handling of some invalid data types. Stricter argument, return-value and internal-function validation. Incorrect values that previously worked may now cause an error.
Null values Null values were commonly accepted by internal string functions. Passing null to non-nullable parameters causes compatibility warnings or errors. Null values must be checked or explicitly converted.
Undefined array keys Undefined keys frequently produced less visible notices. Undefined keys produce clearer warnings and expose weak application logic. POST, GET, session and database values should be checked before use.
Dynamic properties Object properties could commonly be created dynamically. Dynamic properties are deprecated unless explicitly permitted. Properties should be declared inside classes.
MySQLi errors Database failures could return warnings or false values. MySQLi uses stricter exception-based behaviour. Database queries may require try/catch exception handling.
Removed functions Some old application code still contained removed or obsolete patterns. Obsolete functions and language behaviours are unavailable. Custom code and vendor libraries must be scanned and updated.
Composer packages Often restricted to old releases of libraries. Supports modern libraries when those libraries declare PHP 8.4 compatibility. PDF, Excel, email and other packages may require upgrades.
Security maintenance Does not provide an appropriate base for a new secure deployment. Provides current runtime improvements and security maintenance. PHP 8.4 is recommended after compatibility testing is completed.
Modern PHP features Does not support newer features such as attributes, enums and modern type features. Supports modern language features and stronger object modelling. Future development becomes easier to maintain.

PHP extensions

These extensions may be required for database connectivity, uploads, reports, emails and document processing.

Extension Purpose Status
mysqli MySQL database connectivity Available
pdo_mysql PDO MySQL database connectivity Available
mbstring Unicode and multibyte text processing Available
curl API and external HTTP communication Available
openssl Encryption and HTTPS communication Available
zip ZIP, Excel and compressed-file processing Available
gd Image resizing and processing Available
fileinfo Uploaded-file type validation Available
json JSON encoding and decoding Available
session Login and session handling Available
filter Input validation and filtering Available
hash Secure hashing functions Available
iconv Character encoding conversion Available
xml XML document processing Available
dom HTML and XML document processing Available
libxml XML parser support Available
SimpleXML Simplified XML processing Available
tokenizer PHP source parsing and Composer support Available
ctype Character-type validation Available
intl Language, locale and date formatting Available
exif Image metadata processing Available
Zend OPcache PHP performance optimization Available
Extension verification passed All extensions included in this report are available.

Automated environment checks

These checks verify the server environment only. Application workflows must be tested separately.

×
PHP 8.4 active Current version: 7.4.33
64-bit PHP runtime 64-bit runtime detected
MySQLi extension Required for existing MySQL database connections
PDO MySQL extension Recommended database connection method
Secure random token support Required for secure reset tokens and CSRF tokens
Password hashing support Required for secure password storage
File upload support Required for document and image uploads
Session support Required for login and user sessions
HTTPS connection HTTPS is enabled
OPcache Recommended for production performance

Common PHP 8.4 compatibility risks

Custom application code and third-party libraries should be checked for the following patterns.

Compatibility risk Old pattern Required correction
Removed each() function each($array) Replace it with a foreach loop.
Removed create_function() create_function(...) Replace it with an anonymous function.
Removed get_magic_quotes_gpc() get_magic_quotes_gpc() Remove legacy magic-quotes compatibility code.
Curly-brace array or string access $value{0} Replace it with square-bracket access: $value[0].
Undefined POST or GET key $_POST["email"] Use $_POST["email"] ?? "" and validate the result.
Null passed to trim() trim($possiblyNull) Check for null or use trim((string) $value).
count() called on null count($possiblyNull) Confirm the value is an array or Countable first.
Dynamic object properties $object->newProperty = $value Declare the property inside the class.
Stricter numeric operations $amount + $invalidString Validate and cast numeric input before calculation.
MySQLi exceptions $mysqli->query($sql) Handle mysqli_sql_exception and log query failures.
Deprecated encoding functions utf8_encode($text) Use mb_convert_encoding() or iconv().
Old third-party libraries Legacy PDF, Excel or email package Upgrade to a release that supports PHP 8.4.

Required application testing

These workflows require manual testing before production migration can be approved.

Login, logout and session timeout Manual compatibility testing required.
Forgot-password and reset-password process Manual compatibility testing required.
Role-based access and user permissions Manual compatibility testing required.
Database insert, update and delete operations Manual compatibility testing required.
Form submission and input validation Manual compatibility testing required.
Document, image and media uploads Manual compatibility testing required.
File preview and download Manual compatibility testing required.
PDF generation and PDF merging Manual compatibility testing required.
Excel report generation and download Manual compatibility testing required.
Email and notification delivery Manual compatibility testing required.
Search, filters, pagination and sorting Manual compatibility testing required.
Cron jobs and scheduled scripts Manual compatibility testing required.
API and external-system integrations Manual compatibility testing required.
Special characters and multilingual content Manual compatibility testing required.
Mobile and desktop browser testing Manual compatibility testing required.
Error logging and production error handling Manual compatibility testing required.

Recommended migration process

The production environment should remain unchanged until testing and client approval are completed.

Environment preparation

Create an isolated subdomain and assign PHP 8.4 only to the test subdomain. Keep the production domain unchanged during testing.

PHP 8.4 server configuration

Install PHP 8.4 and enable the required extensions through EasyApache 4 and MultiPHP Manager.

Application copy

Copy the application into the isolated test environment without modifying the live project.

Database isolation

Use a separate test database where write operations must be tested. Do not connect migration testing to the live database.

Code compatibility review

Review custom PHP files and vendor packages for removed functions, deprecated syntax, strict type issues and exception behaviour.

Functional testing

Test login, forms, uploads, reports, PDF generation, Excel generation, downloads, emails and user permissions.

Security testing

Verify HTTPS, sessions, password handling, CSRF protection, upload validation and access control.

Client acceptance testing

Provide the test URL to authorised client users and obtain approval for critical business workflows.

Production deployment

Take application and database backups before changing the production PHP version.

Post-migration monitoring

Monitor PHP errors, database exceptions, reports, scheduled jobs and user feedback after deployment.

Final technical recommendation

Complete PHP 8.4 testing on the isolated subdomain before changing the production domain. The production PHP version should be changed only after the required extensions are available, compatibility errors are corrected, third-party libraries are upgraded, critical workflows pass and the client completes user-acceptance testing. A verified file and database backup must be available before production deployment.