Troubleshooting Blank Pages and Oops Error Message
Getting Error Information
In this article we describe what to do when one of our modules gives you blank pages or errors. Before contacting technical support, please read this article in full as we are going to address the most common causes of "Oops" or empty pages.
First thing first, we need to get error information. Submitting a ticket to report that you see the following message gives no useful information to assist you.
WHMCS by default doesn't display details about errors. To get the actual error, we need to look at the the following two options in Setup > General Settings > Other.
Beging by enabling Log Errors and re-perform the steps that previously were giving you a blank page or "Oops" message.
Once done, visit Utilities > Logs > Activity Log, the page where WHMCS logs errors. You should be seeing something like this.
If the Activity Log doesn't provide useful information, enable Display Errors. This will force WHMCS to print the error directly on screen. Here is an example.
Keep in mind that you must be logged in as administrator to see the error (visitors and users have no permissions).
If none of these options work for you, try this last method. At the very end of your configuration.php (root directory of WHMCS) copy-paste the following code and save.
$display_errors = true;
$display_errors = E_ALL;
Once you are done, be sure to disable Log Errors, Display Errors and revert changes in your configuration.php file.
Typical Causes
In the following chapters we are going to address the most common errors that can be the cause of blank pages and "Oops" message.
MySQL Strict Mode
SQL syntax errors are mostly due to MySQL Strict Mode being enabled. Strict mode controls how MySQL handles invalid or missing values. Simply put, it forces developers to write better SQL statements.
We can all agree on the fact that having a strict-mode compliant software is a good thing but WHMCS doesn't support it.
WHMCS itself states that it is important that MySQL Strict Mode is disabled for the proper operation of their software.
In conclusion make sure strict mode is disabled on your server since this is a requirement of WHMCS.
MySQL Mode: Only Full Group By
In the previous chapter we underlined that WHMCS is not compatibile with MySQL Strict Mode. Similarly to this, WHMCS does not support ONLY_FULL_GROUP_BY. This mode must be turned off entirely as follows:
- Open phpMyAdmin and select localhost
- Click on Variables menu
- Look for SQL Mode and click on edit button
- Remove ONLY_FULL_GROUP_BY and save
ionCube Loader-Related Errors
Errors involving ionCube Loaders generally mean you downloaded the wrong module from our website. As we say in Modules' installation guide, each module is available in multiple packages:
- PHP 7.2+
- PHP 7.1+
- PHP 5.6+
- Bundle
With the exception of Bundle that work with every version of PHP, other packages work with certain versions of PHP and are not interchangeable:
- Download PHP 5.6+ for PHP 5.6 and 7.0
- Download PHP 7.1+ for PHP 7.1
- Download PHP 7.2+ for PHP 7.2 and newer
Please, be sure to use the correct package. For more details, read choosing the right package.
PHP Short Opening Tag
Some servers do not allow the use of short open tag (<?
instead of <?php
) which can result in fatal errors.
To avoid any possible issue, our modules always use the long form but there could be third-party libraries we use that prefer the short form.
We have no control over them so if you're having errors about opening tag, simply allow short tags on your server.
Auto Prepend & Append File
Using auto_prepend_file or auto_append_file PHP functions surely cause a fatal error. Disable them.
Base64 Encode & Decode
base_64_encode and base_64_decode PHP functions must be enabled on your server.
Report the Issue
If none of the solutions above work, include all details of the error using bug reporting tool or submitting a support ticket. Also don't forget to revert back all changes you made to log and view errors.
Comments (0)