Troubleshooting ionCube Errors

To help protect the WHMCS software code, we obfuscate it using a system called ionCube®. Misconfiguration of ionCube Loader® can cause errors.

Site error: the ionCube PHP Loader needs to be installed.

You may see an error that resembles the following example:

Site error: the ionCube PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking. Please visit get-loader.ioncube.com for install assistance.
Click to copy

ionCube Required errors are due to a configuration problem with ionCube Loader on your server. It might be outdated or missing entirely.

To resolve this issue:

1. Contact your hosting provider or system administrator to ensure that the appropriate version of ionCube Loader is installed. For more information, see System Requirements.

2. SSH in to your server as the same user under which cron jobs run.

3. Run the following command:

php -v

If your server operates multiple versions of PHP, replace php with the path of the PHP version that WHMCS currently runs on.

For example, on a cPanel & WHM server that uses PHP 8.1, run:

/opt/cpanel/ea-php81/root/usr/bin/php -v

On a Plesk server that uses PHP 8.1, run:

/opt/plesk/php/8.1/bin/php -v

This will return output that resembles the following example:

CLI PHP Version output

WHMCS does not support PHP 8.0. If you see this PHP version,  you must move to PHP 7.4 or 8.1 in order to use WHMCS.

  • If the with the ionCube PHP Loader line is missing, this indicates that ionCube Loader is not available for this user.
  • If the with the ionCube PHP Loader line reports an old version of ionCube Loader, your configuration does not comply with WHMCS's system requirements.

4. Work with your hosting provider or system administrator to ensure that the required version of ionCube Loader is installed and available to the cron job user.

The file /path/filename.php encoded as type [1/71] cannot be decoded.

You may see an error that resembles the following example:

The file  /home/username/public_html/whmcs/modules/gateways/paypalexpress.php  encoded as type [1/71] cannot be decoded by this version of the ionCube  Loader.  in Unknown on line 0
Click to copy

To resolve this issue:

1. In your preferred FTP client, go to the location that appears in the error message. In the above example, this is  /public_html/whmcs/modules/gateways/.

paypalexpress.php

2. Delete the file that appears in the error message. In this example, this is paypalexpress.php.

3. In WHMCS, reload the affected page again.

4. If you see another error for a different file, repeat the process for each file until the page loads correctly.

For more information, see PHP Migration Guide.

Site error: the file /path/cron.php requires the ionCube PHP Loader _loader_ to be installed.

This error indicates a configuration issue in ionCube Loader. It might be outdated or missing entirely.

To resolve this issue:

1. Contact your hosting provider or system administrator to ensure that the appropriate version of ionCube Loader is installed. For more information, see System Requirements.

2. SSH in to your server as the same user under which cron jobs run.

3. Run the following command:

php -v

If your server operates multiple versions of PHP, replace php with the path of the PHP version that WHMCS currently runs on.

For example, on a cPanel & WHM server that uses PHP 8.1, run:

/opt/cpanel/ea-php81/root/usr/bin/php -v

On a Plesk server that uses PHP 8.1, run:

/opt/plesk/php/8.1/bin/php -v

This will return output that resembles the following example:

  • If the with the ionCube PHP Loader line is missing, this indicates that ionCube Loader is not available for this user.
  • If the with the ionCube PHP Loader line reports an old version of ionCube Loader, your configuration does not comply with WHMCS's system requirements.

4. Work with your hosting provider or system administrator to ensure that the required version of ionCube Loader is installed and available to the cron job user.

Some hosting providers do not use the same PHP configuration for cron jobs and web applications. In order to meet WHMCS's system requirements, you may need to specify the PHP binary in the cron command. For example:

/opt/php56/bin/php -q /home/username/public_html/whmcs/crons/cron.php

Replace /home/username/public_html/whmcs/ with the path to your WHMCS installation.

Fatal error: The file /path/filename.php was encoded by the ionCube Encoder for PHP x.

You may see an error that resembles the following example:

Fatal error: The file /home/username/public_html/whmcs/modules/gateways/ewayuk.php was encoded by the ionCube Encoder for PHP 5.3 and cannot run under PHP 7.0. Please ask the provider of the script to provide a version encoded with the ionCube Encoder for PHP 5.6. in Unknown on line 0
Click to copy

This error indicates a PHP version encoding error due to outdated file for a previous WHMCS version (prior to WHMCS 7.0).

This issue may initially display as a blank or partially-formatted page.

Enabling Display Errors in the Other tab at Configuration > System Settings > General Settings and reloading the page will reveal the error message.

To resolve this error:

1. In your preferred FTP client, go to the location that displays in the error message (in this example, /home/username/public_html/whmcs/modules/gateways/).

2. Delete the file that displays in the error message (in this example, ewayuk.php).

ewayuk.php

3. Reload the page.

4. If reloading displays the same error for a different file, repeat this process for each file until the page loads correctly.