Difference between revisions of "PHP Version Compatibility Assessment"

From WHMCS Documentation

 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
In WHMCS 7.5 and above, you can view a report of ionCube-encoded files in your WHMCS installation directory that may not properly decode under certain versions of PHP.
+
<div class="docs-alert-success">
 +
We introduced this feature in WHMCS 7.5.
 +
</div>
  
You can generate this report at '''Utilities > System > [[PHP Version Compatibility]]'''.
+
The report at '''Utilities > System > [[PHP Version Compatibility]]''' displays a list of the ionCube®-encoded files in your WHMCS installation directory that may not properly decode in certain versions of PHP. This utility only inspects decoding compatibility and not PHP syntax compatibility.
  
This provides transparency for files that you may have deployed over the lifespan of your installation, namely files belonging to custom or 3rd party code. WHMCS does not control these files however if their encoding is incompatible with your environment they may negatively affect WHMCS.   
+
This provides transparency for files that you may have deployed over the lifespan of your installation, namely files belonging to custom or third-party code. While WHMCS does not control these files, if their encoding is incompatible with your environment they may negatively affect WHMCS.   
  
This utility only inspects decoding compatibility and does not assert PHP syntax compatibility.
+
== Managing Unknown Compatibility Files ==
  
=== Managing Unknown Compatibility Files ===
+
If you have files that display '''Encoding Compatibility Unknown''', this does not immediately indicate a problem. Instead, it indicates that the utility cannot accurately determine the PHP versions the file's encoding may support.
  
If you have files marked as "Encoding Compatibility Unknown" this does not immediately indicate a problem, only that the utility has been unable to accurately determine the PHP versions the file's encoding may support.  
+
We recommend checking with the code's vendor to confirm whether it is compatible with the desired target PHP version. In many cases, you may find that updates have already been released to provide compatibility with newer PHP versions.  
  
The recommended course of action is to check with the vendor of the code to confirm if the code is compatible with the desired target PHP version. In many cases, you may find that updates have already been released to provide compatibility with newer PHP versions.
+
If you can confirm compatibility, you do not need to perform any other actions. If, however, there is no update available for your target PHP version, perform one of the following actions:
  
If you can confirm it is compatible, no further action is needed. However if there is no update available for compatibility with your target PHP version, you have two options:
+
* Stop using the module and remove it from your WHMCS installation.
 +
* Wait for the vendor to issue an update that provides compatibility with your desired PHP version before upgrading PHP.
  
# Stop using the module and remove the module from your WHMCS installation
+
== Vendor Support ==
# Wait for the vendor to issue an update that provides compatibility for your desired PHP version before upgrading PHP
 
  
Support for multiple PHP environments will vary between vendors. As discussed in the [[System_Environment_Guide#IonCube_Version|System Environment Guide]], the latest WHMCS releases utilize the ionCube Bundled Encoding feature to generate files that are compatible within multiple PHP environments simultaneously.
+
Support for multiple PHP environments will vary between vendors. WHMCS uses ionCube's bundled encoding feature to generate files for multiple PHP environments simultaneously. For more information, see [[System_Environment_Guide#IonCube_Version|System Environment Guide]].
  
If a vendor chooses to use the same approach as WHMCS, this utility can concisely determine what support is embedded for decoding in their software.   
+
* If a vendor chooses to use the same approach as WHMCS, the '''PHP Version Compatibility''' tool can concisely determine the supported versions for decoding in their software.   
 
+
* If a vendor opts to provide different encodings for different PHP environments, the encoding may not be descriptive enough to accurately confirm compatibility.
If a vendor opts to provide different encodings for different PHP environments, the encoding may not be descriptive enough for the utility to accurately confirm compatibility.
 

Latest revision as of 18:14, 29 August 2022

We introduced this feature in WHMCS 7.5.

The report at Utilities > System > PHP Version Compatibility displays a list of the ionCube®-encoded files in your WHMCS installation directory that may not properly decode in certain versions of PHP. This utility only inspects decoding compatibility and not PHP syntax compatibility.

This provides transparency for files that you may have deployed over the lifespan of your installation, namely files belonging to custom or third-party code. While WHMCS does not control these files, if their encoding is incompatible with your environment they may negatively affect WHMCS.

Managing Unknown Compatibility Files

If you have files that display Encoding Compatibility Unknown, this does not immediately indicate a problem. Instead, it indicates that the utility cannot accurately determine the PHP versions the file's encoding may support.

We recommend checking with the code's vendor to confirm whether it is compatible with the desired target PHP version. In many cases, you may find that updates have already been released to provide compatibility with newer PHP versions.

If you can confirm compatibility, you do not need to perform any other actions. If, however, there is no update available for your target PHP version, perform one of the following actions:

  • Stop using the module and remove it from your WHMCS installation.
  • Wait for the vendor to issue an update that provides compatibility with your desired PHP version before upgrading PHP.

Vendor Support

Support for multiple PHP environments will vary between vendors. WHMCS uses ionCube's bundled encoding feature to generate files for multiple PHP environments simultaneously. For more information, see System Environment Guide.

  • If a vendor chooses to use the same approach as WHMCS, the PHP Version Compatibility tool can concisely determine the supported versions for decoding in their software.
  • If a vendor opts to provide different encodings for different PHP environments, the encoding may not be descriptive enough to accurately confirm compatibility.