Back to Blog Posts

WHMCS and PHP 7.1 Status Update

By Nate / December 12th, 2017

whmcs_php71_support.png

As a continuation and update to the discussion at WHMCS.community, I'm pleased to announce that support for PHP 7.1 and PHP 7.2 is right around the corner! Your automatic update to WHMCS v7.5 will support PHP 5.6, 7.0, 7.1, and 7.2 environments with IonCube loader 10.1. To accomplish this WHMCS is leveraging yet-to-be released IonCube functionality that overcomes the lack of multi-PHP support in the IonCube Encoder. We expect to release WHMCS 7.5 in the first quarter of 2018.

WHMCS v7.4.2 is scheduled for release in January 2018. Beyond general maintenance, this release will contain additional checks and notifications to enable the safest automatic update process. These checks will include new functionality to ensure your environment has the appropriate ionCube loaders before a new version of WHMCS is deployed, ensuring that your system is ready to run the new version of WHMCS without issue. As a result, only v7.4.2 (and future v7.4 releases) will be able to automatically update to WHMCS v7.5. Any WHMCS installation prior to V7.4.2 will need to first auto-update to 7.4.2, and only then, will you be able to update to v7.5 when that update becomes available.

Supporting the latest versions of PHP is important to us and to you. Long before IonCube released their initial loaders and encoder with PHP 7.1 support, we had been testing WHMCS under PHP 7.1 internally and making sure our product was compatible. In September when IonCube first released their Encoder and Loader products with support for PHP 7.1, we quickly realized there were differences with how previous encoder / loaders work and these differences caused challenges to the automated upgrade process we strive to provide within WHMCS. Specifically files that were encoded for PHP 5.6 and 7.0 could not be read in PHP 7.1; while files encoded for PHP 7.1 could not be read in earlier versions. Despite the WHMCS codebase being PHP 7.1 ready, the tooling and target environments weren't.

This would have prevented us from providing the seamless automatic experience we have so far delivered within the WHMCS 7 series. We made the choice not to release multiple builds that might confuse customers and wouldn't work with our automatic updater and instead we began investigating and prototyping ways to provide the most seamless end user experience to bridge the gap, and have been developing and evaluating a number of possible solutions. At the same time we contacted IonCube and they agreed an alternative solution would be preferable. However, they couldn't provide a firm commitment on if or when any changes could be expected. So, we had to explore more complex alternatives, ones that would deliver the environment support and the quality experience you expect from us. These prototypes ranged from a version of WHMCS with double encodings and proxy entry points to complex update mirrors and environment logic to alternating version schemas for different encodings.

Last week IonCube contacted us with a beta edition of Encoder and Loader 10.1. Using these products, multiple PHP environment support can be achieved with far less complexity in WHMCS, our build systems, and our update infrastructure. We've already used it to produce alpha builds of WHMCS 7.5, validated those builds running on PHP 7.1 with the beta loaders and are confident it will allow us to provide a viable solution for all WHMCS customers.

This bundled encoding is a welcome solution because it not only works for WHMCS, but for the whole PHP community. It reduces the efforts required to maintain up to date environments and software with the least impact on production systems. The downside is the IonCube Loader v10.1 is required.

In an effort to mitigate this downside, we've had ongoing discussions with our partner cPanel. They are ready to move quickly and prioritize providing the new 10.1.0 loaders via EasyApache 4 as soon as IonCube releases them for general availability.

Some customers have asked us about PHP's release cycle and a resulting warning displayed in the WHMCS System Health Status report. The intent of this systematic warning is to encourage planning for environment maintenance. Since PHP 7.0 will be receiving security patches up to December 2018 you should have adequate time to update both your environment and WHMCS.

WHMCS v7.4.2 will be out next month. With that release and the IonCube Loader 10.1 expected shortly, you'll be all set for WHMCS v7.5. Stay tuned to the blog for more v7.5 feature announcements and release news!

Liked this article? Share it