License Troubleshooting

From WHMCS Documentation

Revision as of 15:31, 19 February 2018 by NickH (talk | contribs) (Curl Error: Problem with the SSL CA cert (path? access rights?) - 77)

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 above for instructions on doing so.

No Connection Error

A No Connection 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

Required function base64_decode is not available

This error indicates that your server has the required base64_decode function disabled in your PHP configuration. You'll need to reach out to your web host or systems administrator to resolve this.

Required function xxxx 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 "xxxx" will be replaced with a required function that has been disabled, i.e. 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'll need to reach out to your web host or systems administrator to resolve this.

Outdated Root CA Bundles

In version 7.0 and above we have changed the license validation callback to require it to be made via SSL connection. This helps to ensure the security and integrity of your license.

Certain errors are being generated when placing the CURL call using the `curlopt_ssl_verifypeer` function as your server does not have the appropriate root CA bundles to validate the SSL connection to our licensing server. It appears these bundles might be expired.

I found a great tutorial on how to resolve this issue and get it working which has been noted by other clients reporting this issue to have resolved it for them: https://snippets.webaware.com.au/howto/stop-turning-off-curlopt_ssl_verifypeer-and-fix-your-php-config/

If you are unsure how to follow the steps outlined, I would recommend contacting a server admin or your hosting provider for further assistance.

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

See License Troubleshooting#Outdated Root CA Bundles