Archive for the ‘WHMCS’ Category

WHMCS and Nominet EPP farce (again!)

Saturday, September 10th, 2016

On the 14th of January 2016 Nominet notified EPP users that they would be upgrading their EPP system to require TLS version 1.1 or higher connections on the 8th of June 2016 in order to keep the EPP system secure.
From the 2nd of February 2016 the Nominet EPP testbed was updated to reflect these new requirements so that registrars and software developers could test that their systems will work once this change has been made to the production EPP platform.

In the past, WHMCS have ignored notices from Nominet and waited until after such changes were put live before making the appropriate changes to their software, so I raised a ticket with WHMCS on the 19th of February 2016 in order to check that WHMCS were aware of the planned change and would be making the appropriate changes.
As usual, WHMCS completely dismissed this ticket and point blank refused to investigate any potential impact which could affect their customers.

In this case, the original date of the 8th of June was pushed back to the 22nd of June before being rescheduled to the 16th of August in order to give registrars more time to update and test their systems against the EPP testbed.
However, despite having over 7 months notice from Nominet and 6 months notice from at least one customer, WHMCS made no effort to test their EPP implementation against the Nominet testbed until after Nominet had made the changes and WHMCS customers complained of problems.
The WHMCS module was updated 4 days *AFTER* the change, which fell on a weekend and so some customers may not have had the technical resource immediately on-hand to test and deploy the update.

To top it all off, both publicly and in tickets WHMCS arrogantly tried to blame Nominet for their usual dismal failings.
I tried to comment on the WHMCS blog ( and initially this comment was published, but despite WHMCS replying to it the comment was moderated and my follow up response was deleted (as was another reply asking why they deleted the previous reply!). Three weeks later, the comment is still moderated…

It speaks volume about the way WHMCS is run that they not only created the initial problem by arrogantly refusing to make the effort to test their module, but then tried to lay the blame on Nominet as well as actively surprising any negative comments criticising them for the way that they treat their customers with such contempt.

Twitter integration not working in WHMCS

Wednesday, May 14th, 2014

If you’re having problems with WHMCS’s Twitter integration feature on a CentOS/RHEL server, then chances are that you need to install the php-xml RPM.

The Twitter integration in WHMCS uses jQuery to make a POST request to announcements.php detailing the number of tweets to retrieve. This then in turn connects to the Twitter API, parses the response and returns it to the browser as HTML.

Something in this script requires one of the extensions provided by the php-xml RPM (dom, wddx, xmlreader, xmlwriter and xsl). If the module isn’t present, then the script fails silently and returns no tweets. You still get some HTML though – the Twitter icon, a single hyphen and the “Follow us on Twitter” button.

Unable to login to the admin area after upgrading from WHMCS 5.1.7 to 5.2.x

Sunday, June 30th, 2013

There is a “known issue” with the upgrade process from WHMCS 5.1.7 to 5.2.x where it fails to run some of the SQL files in the “install” folder for some reason which leaves you unable to login to the admin area with the same “Login Failed” error message that you get if the username and password that you enter are wrong.

The solution to this is to manually run the “upgrade520.sql”, “upgrade521.sql”, “upgrade522.sql”, “upgrade523.sql” and “upgrade524.sql” files from the “install” folder (assuming that you are upgrading to WHMCS 5.2.5) against your WHMCS database. After this you should be able to log back in to the WHMCS admin area again.

WHMCS 4.41 and the Plesk server module

Sunday, December 19th, 2010

WHMCS version 4.41 has split the Plesk server automation module out into three separate versions; plesk8, plesk9 and plesk10, but the upgrade script doesn’t handle changing the automation module settings for either your servers or your products/services.

As a result of this short sightedness on the developer’s part you will loose all automation of your Plesk servers (account creation, suspension, termination, statistics updates etc.) and start experiencing fatal PHP errors in both the admin and client areas of WHMCS where the functions provided by the old “plesk” module are used (which is basically any area using products/services or servers defined with the “plesk” module) unless you retain the generic “plesk” module from your previous WHMCS 4.31 install.

As copying over the “modules/servers/plesk” folder from WHMCS v4.31 or symlinking the appropriate folder of one of the new modules to “modules/servers/plesk” seems like a massive dirty hack to me, instead I decided to do what the WHMCS 4.41 installer should have done in the first place and fix the database to use the correct version of the new Plesk server module.

For me the new “plesk9” module is the one to use, but you can adjust the following SQL appropriately to suit your needs (remember to backup your database however you see fit before you begin!):

UPDATE tblproducts SET servertype=’plesk9′ WHERE servertype=’plesk’;


UPDATE tblservers SET type=’plesk9′ WHERE type=’plesk’;

As usual with WHMCS, there are no mention of any changes to the Plesk module in the release notes for version 4.41.

WHMCS 4.41 and admin area domain name registrar module function buttons

Sunday, December 19th, 2010

If you are wondering where the domain name registrar function buttons such as Register, Renew and Transfer in the admin area have disappeared to in WHMCS 4.41 then take a look at the permissions for the administrator role that your account belongs to. It seems that WHMCS v4.41 added a new permission to control the use of these domain name registrar module function buttons from the admin panel called “Perform Registrar Operations“. As usual, this change is not reflected anywhere in the release notes for version 4.41.

WHMCS v4.41 requires BCMath support in PHP

Saturday, December 18th, 2010

Beware if you are upgrading to the newly released WHMCS v4.41 that some bits of the admin area such as the client profile tab seem to require that your web server’s copy of PHP has BCMath support available and enabled.

Look for “BCMath support => enabled” in your phpinfo() output from “php -i” to make sure that you have the BCMath library compiled in to your PHP or available as a shared library to be dynamically loaded at runtime as an extension.

Remember that on some web servers the PHP binary that you use from the command line isn’t always using the same configuration as the mod_php or PHP CGI used by your web-server, so you might get different results from “php -i” and calling phpinfo() in a web page.

For some reason WHMCS didn’t feel the need to mention this new requirement in the release notes for version 4.41.

WHMCS’ HyperVM module and the importance of the product type

Tuesday, April 20th, 2010

If you’re integrating WHMCS with HyperVM using the built in module, then there’s one thing that you need to be careful of and that’s which “product type” you set for your products/services – despite one of them being called “VPS/Dedicated servers” you actually need to use the “other” group or the HyperVM module simply won’t work.

If you are having problems with module operations such as create and suspend as well as the “login to control panel” link in the admin area then it is likely that you are running into this problem. Another symptom is that every time you view a HyperVM based product/service in the client or admin area then the server entry against that particular client’s service gets unset in the database (the ID used for the link gets set to 0)
In addition to changing the product type for all of the HyperVM based products/services to “other”, you will need to run an update on the MySQL database to set the server column in the tblhosting table back to the right ID for the HyperVM server in the tblservers table. A couple of quick bits of SQL to do this are:

update tblhosting set server=(select id from tblservers where type=’hypervm’ limit 1) where packageid in (select id from tblproducts where servertype = ‘hypervm’);
update tblproducts set type=’other’ where servertype=’hypervm’;

If you have more than one HyperVM server configured in WHMCS then you will need to modify this SQL slightly.

WHMCS v4.2.1 and Google Checkout

Monday, March 15th, 2010

The Google Checkout module has been updated in the new v4.2.1 version of WHMCS and the release notes have a slight omission; the Google Checkout module no longer works out of the box with the default settings in your Google Checkout account.

In order to fix this, go to Settings and then Integration and then under “Shopping cart post security” untick the box next to “My company will only post digitally signed carts”.

According to WHMCS, this is due to this feature causing problems. It is probably worth reading the Google Checkout knowledge base article about the potential security holes that disabling this feature will introduce.

WHMCS will check the amount on the XML Google send back that it uses to mark the appropriate invoice(s) as paid, so you won’t need to manually verify the details as the knowledge base article suggests; if someone fiddles with the data sent you send to Google from your invoice screen then the invoice will only be marked as partially paid.