PHP 7 Migration Troubleshooting Guide

From WHMCS Documentation

Revision as of 20:32, 28 September 2021 by SarahK (talk | contribs)

« Back to the PHP 7 Migration Guide

If, after changing your PHP version, you encounter an Oops error or a blank or partially-rendered page, it is likely that there is a file in your installation that is not compatible with the new PHP version.

This may indicate one of these problems:

  • Syntax Error — A file uses deprecated or removed functionality that is no longer available in the newer version of PHP.
  • Decoding — A file is encoded with an ionCube® encoding that is not compatible with the newer version of PHP or the installed ionCube Loader® extension.

To confirm the exact cause of the issue, you must enable error reporting.

Enabling Error Reporting

Enabling From The Admin Area

If you can log in to the Admin Area and navigate to Configuration () > System Settings > General Settings, use these steps to enable error display:

  1. Go to Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings.
  2. Select the Other tab.
  3. Check Display Errors.
  4. Click Save Changes.

After error reporting is enabled, retry the steps that previously led to the Oops!, blank, or partially rendered page. More information will display.

Enabling From Your Configuration File

If you cannot log in, use these steps to enable error reporting in the configuration file directly:

  1. In the WHMCS root directory, edit the configuration.php file.
  2. Add these lines at the end of the configuration file, below any other lines but above the closing ?> line, if it is present:

$display_errors = true;

After error reporting is enabled, retry the steps that previously led to the Oops!, blank, or partially rendered page. More information will display.

Common Errors/Resolutions

With error reporting enabled, you should see the full error message that WHMCS generates when the problem occurs.

Oops! Something went wrong and we couldn't process your request

Oops error page.png

This indicates that a fatal error is occurring. Usually, this is due to these causes:

  • Missing PHP Extensions — You may see this error if your version of PHP is missing some of the required extensions for WHMCS.
    If you compile PHP using EasyApache, you must include both the PDO and mysqlnd PHP extensions to allow MySQL® connections.
  • Incompatible PHP Files — PHP files using deprecated or unavailable functions may trigger an error page. To debug this, enable error reporting to find the file and PHP error output.

The file was encoded by the ionCube Encoder for PHP x.x and cannot run...

You may see an error message that looks like this:

The file /path/to/file.php was encoded by the ionCube Encoder for PHP 5.6 and cannot run under PHP 7.1 or later. Please ask the provider of the script to provide a version encoded with the ionCube Encoder for PHP 7.1.

Seeing the above error message indicates that the file was encoded using an older version of ionCube Encoder® that does not include support for PHP 7.1 or later. Contact the original author of the file for an updated version.

If the file is a WHMCS file, we may no longer maintain or distribute it.

  • You can identify WHMCS files by checking for the WHMCS copyright notice at the beginning of the file.
  • Typically, built-in routine updates remove these files automatically. However, permissions issues may prevent removal.
  • Normally, these files are not in use by the current version of WHMCS and you can delete them.

« Back to the PHP 7 Migration Guide