This repository builds the ea-ioncube15 package for cPanel & WHM, which provides ionCube Loader support for PHP.
ionCube provides PHP loaders that enable execution of encoded PHP files. This package installs the appropriate ionCube loaders for all supported PHP versions in the EasyApache 4 system.
As of early 2026, ionCube's stable release (15.0.x) includes loaders for PHP 5.6 through 8.4, but does not yet include PHP 8.5 support.
However, ionCube's beta release (15.5.x) includes only PHP 8.5 loaders - it does not contain loaders for earlier PHP versions.
This is why we cannot simply use the beta release alone. To support all PHP versions (including 8.5), we needed a way to:
- Use the stable release for all standard PHP versions (5.6-8.4)
- Add PHP 8.5 loaders from the beta release
- Combine them into a single tarball for packaging
This script creates a hybrid tarball by:
- Downloading the stable release (15.0.x) - contains loaders for PHP 5.6-8.4
- Downloading the beta release (15.5.x) - contains only PHP 8.5 loaders
- Extracting both tarballs to temporary directories
- Copying all files from the stable release to a merge directory
- Copying only the
.soloader files from the beta release (adds PHP 8.5 loaders) - Creating a combined tarball with all loaders
- Placing the combined tarball in
SOURCES/ioncube_loaders_lin_x86-64.tar.gz
The result is a tarball that contains:
- Stable loaders for PHP 5.6-8.4 (from stable release)
- Beta loader for PHP 8.5 only (from beta release)
To accomplish this, find-latest-version was made more complex so that get_for_all_php.pl can load it as a modulino. This allows the script to:
- Reuse the version-finding logic from
find-latest-version - Find both the stable and beta versions of the loaders
- Perform the merging of the tarballs programmatically
This modulino approach avoids code duplication and keeps the version-finding logic centralized in one place.
You MUST run this script each time you update the package until ionCube's stable release includes PHP 8.5 support.
Once PHP 8.5 support is available in the stable release, we can:
- Remove
get_for_all_php.pl - Return to using the standard
find-latest-versionscript - Update the spec file to fetch directly from stable releases
Run from the repository root:
./get_for_all_php.plOptions:
--nocleanup- Keep the temporary assembly directory after completion (useful for debugging)
- Perl with the following modules:
- HTTP::Tiny
- File::Temp
- File::Path
- File::Copy
- File::Find
- Cwd
- Getopt::Long
- Internet connectivity to download from ionCube's servers
- The
find-latest-versionscript in the same directory
After running get_for_all_php.pl:
- The combined tarball is placed in
SOURCES/ioncube_loaders_lin_x86-64.tar.gz - Build the RPM normally using
makeor your standard build process - The spec file will use this tarball as its source
Once get_for_all_php.pl has been run:
et obs --watchThis will build the RPM packages using the combined tarball.
Monitor ionCube releases at https://www.ioncube.com/loaders.php
When the stable release includes PHP 8.5:
- Delete
get_for_all_php.pl - Update build documentation
- Verify the spec file works with standard stable releases
Copyright 2026 WebPros International, LLC. All rights reserved.