License Troubleshooting

From WHMCS Documentation

Revision as of 21:57, 19 February 2018 by John (talk | contribs) (Required function base64_decode is not available)

If you are encountering a licensing error when accessing your WHMCS installation's administration area, this could indicate that the license needs updating or a server configuration issue is preventing a connection to our license server. This page details the most common errors and provides some suggested resolutions.

License Invalid

A Licence Invalid error on the admin login page can be caused by one of the following changes:

  • The license key has been entered incorrectly

Please ensure the full key is entered, this includes the prefix eg. "Leased-", "Owned-", "WebHost-" and "Dev-".

  • The domain being used to access your install has changed
  • The IP address your install is located on has changed
  • The directory you are using has changed

Following any changes to the location of your WHMCS installation, the licence must be updated accordingly. Please refer to Moving WHMCS for instructions on doing so.

Licencing Error

Encountering a Licencing Error error on the admin login page suggests there is a problem preventing your server from communicating with the WHMCS licensing server. This is commonly a CURL or DNS resolution problem, these are essential items in the use of WHMCS and is something your server admin will need to investigate and correct.

  • CURL - CURL is an extremely important part of WHMCS and is needed for a number of the operations performed such as server connections etc.
  • DNS - DNS is a vital part of internet functionality in order to be able to resolve hostnames of servers, domain name lookups, and licensing. Ensure your DNS resolve whmcs.com to the correct IP address.

To test the connection between your server and the WHMCS licence server, a built-in test tool is available on the admin area login page:

/admin/login.php?conntest=1

For example, if your admin area is located at http://yourdomain.com/admin/login.php, you'd visit http://yourdomain.com/admin/login.php?conntest=1

A successful test result looks like:

Testing Connection to 'https://licensing28.whmcs.com/license/test.php'...
URL resolves to 184.94.192.12 ... Ok
Response Code: 200
Connection Successful!

or

Testing Connection to 'https://licensing28.whmcs.com/license/test.php'...
URL resolves to 208.74.124.169 ... Ok
Response Code: 200
Connection Successful!

If you see any errors, it will be necessary to work with your server admin/hosting provider to resolve the cURL connectivity issue. Showing the test results should assist in their troubleshooting.

Caveat for Shared and Reseller Hosted Customers

Some hosting providers may operate very restrictive environments, which results in a No Connection error despite the aforementioned test returning a successful result.

In this situation, we have found that changing the PHP version to 7 resolves the error. Instructions for doing this are located here: https://www.hostgator.com/help/article/php-configuration-plugin

Specific Errors

Required function base64_decode is not available

This error indicates that your server has the required base64_decode function disabled in your PHP configuration. Please adjust your website's PHP configuration so as to enable the base64_decode function.

It may be necessary for the function to be added at the server level, in which could contacting your server admin/hosting provider may be required:

Required function is not available

This error will appear when a necessary CURL function has not been installed on your server or is disabled in the configuration. The error message will specify the required function which has been disabled, eg:

  • curl_init
  • curl_setopt
  • curl_exec
  • curl_getinfo
  • curl_error
  • curl_close

All of these functions must be installed and enabled on your server in order to properly validate your license:

You may need to reach out to your web host or systems administrator to resolve this.

Curl Error: Couldn't resolve host (6)

A CURL code 6 error indicates an inability for your DNS to resolve the WHMCS licensing server. This could indicate a temporary issue with your DNS provider, or a longer-term misconfiguration.

If these points have been eliminated, check your Zone files for the presence of an entry for whmcs.com and remove it if found.

Curl Error: Couldn't connect to host (7)

A CURL code 7 error indicates an inability to connect to the WHMCS licensing server. This is typically caused by a firewall configuration. CURL uses port 443 for secure connections, so ensure that connections are permitted on this port.

Curl Error: Problem with the SSL CA cert (path? access rights?) - 77

See License Troubleshooting#Outdated Root CA Bundles

Curl Error: error setting certificate verify locations

See License Troubleshooting#Outdated Root CA Bundles

Outdated Root CA Bundles

The license validation is made via an SSL connection. This helps to ensure the security and integrity of your license.

Errors can occur when placing the CURL call using the "curlopt_ssl_verifypeer" function if your server does not have the appropriate root certificate authority (CA) bundles to validate the SSL connection to our licensing server. This can be caused by the CA bundle files being missing or outdated.

Note: This error does not relate to the validity or existence of an SSL certificate on your own website. The CA bundles referred to here are located on the server side at root level.

Frequently updated CA Root Certificates are available from your Operating System's repository or the cURL website at https://curl.haxx.se/docs/caextract.html

If you are unsure how to check for these certificates or update them, it is best to contact your web host or systems administrator for assistance.

Other Curl Error Codes

Other CURL error codes are detailed in the official documentation at https://curl.haxx.se/libcurl/c/libcurl-errors.html