Jump to content

PHP 8.1 and Ioncube for Developers


Recommended Posts

Hello, 

Just to add to the previous posts, asked questions to Ioncube:

> Then, a PHP file encoded with v11 should be loaded with PHP 8.1
> (Ioncube v12) if the source code does not have any incompatibility
> with PHP 8.1, right?

No. Encoded files contain compiled code rather than source code, so the PHP 8.1 runtime would need to run code compiled for PHP 7.2 in this case. Compiled code for a new generation of PHP can be different even if the high-level PHP code were the same, and it usually isn't feasible or practical (i.e. it may be doable but would take too long). In general, it's viable for the Loader to run compiled code on newer minor versions of PHP, although our solution is the only one to offer even that. So, moving from PHP 7 to 8.1 and higher though would require compiling files specifically for PHP 8.1.

 

Link to comment
Share on other sites

1 hour ago, WHMCS John said:

Using cPanel EasyApache 4, we've tested with IonCube v11.0.1 loader on PHP 7.4.30 in a stock WHMCS v8.6 installation, and the tool is asserting the PHP 8.1 compatibility successfully:

 


PHP Version 7.4.30

Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with the ionCube PHP Loader + ionCube24 v11.0.1, Copyright (c) 2002-2022, by ionCube Ltd.

Screen Shot 2022-09-12 at 10.41.28 AM.png

I'd be interested to learn more about how you're compiling PHP and Ioncube on your server @Hostinfacil.co?

If you recompile PHP 7.4 with Ioncube Loaders v12.0.1, does it make any difference for you?

Hello, 

After testing everything I found the issue, if you scan for PHP compatibility, then update to WHMCS 8.6, then you check 8.1, you will see everything is in Incompatible Encoding, you need to rescan to get it working. Is not absolutely clear this step. Will be better if you invalide the last scan results after any update.

There are two files of WHMCS core reported as Incompatible encoding:
1915543500_WHMCS-PHPVersionCompatibility-GoogleChrome.thumb.png.eeed83e4e97f056c59448650242dc930.png

While modules (Developed by us) are show as Compatibility unknown, but such as files was enconded with Ioncube Online Encoder v11 for PHP 7.4:
1327800942_EncodeFile-PHPEncoderprotectioninstallerandperformancetoolsfromionCube-GoogleChrome.thumb.png.bc883af851cb07871c455df861c11924.png



Then it should detect as incompatible encoding

455311342_WHMCS-PHPVersionCompatibility-GoogleChrome_2.thumb.png.937009b17b6f8cfd0a8d0caae8f33967.png

Questions:

1.  downloads.php and modules/gateways/callback/paymate.php are uncleaning files from WHMCS 8.5, right? Is it safe to delete? Can you ensure every file of previous versions that are not present in current version are deleted/cleaned?

2. Detection of files encoded with Ioncube Online Encoder are not supported by PHP version compatibility utility? The header looks like:

133052757_hostingfacil@server3public_htmltestmembers.png.fe64062d2fe2ea1712adde9cedab0b9f.png

3. Ioncube doesn't want to provide Bundled encoding for the Online encoder, so we have to deliver zip modules for 7.4 and other for 8.1. Is there any ETA of when WHMCS supporting 8.1 will be production ready? In order to support only 8.1? I'm aware you used the desktop encoder with bundled encoding to support 7.4 and 8.1 with one base code.

 

Edited by Hostinfacil.co
Link to comment
Share on other sites

  • WHMCS Developer

Hi Hostinfacil.co

Quote

1.  downloads.php and modules/gateways/callback/paymate.php are uncleaning files from WHMCS 8.5, right? Is it safe to delete? Can you ensure every file of previous versions that are not present in current version are deleted/cleaned?

This file may be removed.  We have identified this and a few others like it following the beta release.  We will have a routine to clean these files on update to 8.6.0 RC.  While I can ensure every file we once distributed but is no longer distribute is safe to remove, we cannot guarantee that every file you find within your system was placed there by the WHMCS core product.  It is possible that unmanaged files in your installation may be from 3rd-party files (and sometimes in the case of modules, they might have the same base name).  Please review each file and retain a backup prior to removal.

Quote

2. Detection of files encoded with Ioncube Online Encoder are not supported by PHP version compatibility utility? The header looks like:

The PHP Version Compatibility Utility has limited support for the ionCube Online Encoder; we have seen several variants over the years.  We look to improve our support with each sample/iteration we receive.

Quote

3. Ioncube doesn't want to provide Bundled encoding for the Online encoder, so we have to deliver zip modules for 7.4 and other for 8.1. Is there any ETA of when WHMCS supporting 8.1 will be production ready? In order to support only 8.1? I'm aware you used the desktop encoder with bundled encoding to support 7.4 and 8.1 with one base code.

Normally the pre-production cycle for WHMCS is 4-6wks.  Given this, the expectation is that 8.6.0 GA will arrive by the end of October 2022.

Cheers

David

Link to comment
Share on other sites

  • WHMCS John changed the title to PHP 8.1 and Ioncube for Developers
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated