If you're using a VPS or dedicated server and see the error "Site Error: The ionCube PHP Loader Needs to Be Installed", you need to install ionCube Loader manually via SSH. This guide provides step-by-step instructions for VPS users.
1 Check If ionCube Loader Is Already Installed
Before installing, check if ionCube Loader is already available on your VPS.
Run This Command in SSH:
Expected Output (if ionCube is installed):
If the "with the ionCube PHP Loader" line is missing, ionCube needs to be installed.
Alternative Check Method:
If this returns no output, ionCube is not installed.
2 Install ionCube Loader Manually on VPS
Download ionCube Loader
Connect to your VPS via SSH and run:
ioncube_loaders_lin_x86.tar.gz instead.
Extract the Archive
cd ioncube
This will create an "ioncube" directory containing loader files for different PHP versions.
3 Find Your PHP Version
Example Output:
Make sure to install the correct ionCube version for your PHP version.
• PHP 8.3 > ioncube_loader_lin_8.3.so
• PHP 8.2 > ioncube_loader_lin_8.2.so
• PHP 8.1 > ioncube_loader_lin_8.1.so
• PHP 8.0 > ioncube_loader_lin_8.0.so
• PHP 7.4 > ioncube_loader_lin_7.4.so
• PHP 7.3 > ioncube_loader_lin_7.3.so
• PHP 7.2 > ioncube_loader_lin_7.2.so
• PHP 7.1 > ioncube_loader_lin_7.1.so
• PHP 7.0 > ioncube_loader_lin_7.0.so
4 Find Your PHP Extensions Directory
Example Output:
This is where the ionCube loader file should be placed. Common directories include:
/usr/lib/php/20200930/ (PHP 8.0)
/usr/lib/php/20190902/ (PHP 7.4)
/usr/lib/php/20180731/ (PHP 7.3)
/opt/plesk/php/8.1/lib/php/modules/ (Plesk)
/usr/local/lib/php/extensions/ (Custom installations)
5 Copy the Correct ionCube Loader File
Step 1: List Available Loader Files
Look for the loader file matching your PHP version.
Step 2: Copy Loader to PHP Extensions Directory
For PHP 8.1:
Replace the path with your actual PHP extension directory and version.
Step 3: Set Correct Permissions
6 Enable ionCube Loader in php.ini
Find Your php.ini File
Example Output:
- Apache: /etc/php/8.1/apache2/php.ini
- Nginx with PHP-FPM: /etc/php/8.1/fpm/php.ini
- CentOS/Apache: /etc/php.ini
Edit php.ini
For Apache (adjust path as needed):
Add this line in the Dynamic Extensions section (usually around line 900-1000):
zend_extension not extension. ionCube is a Zend extension, not a regular PHP extension.
Save the file (CTRL + X, then Y, then Enter).
7 Restart Apache or PHP-FPM
If Using Apache:
If Using Nginx with PHP-FPM:
sudo systemctl restart nginx
If Using Lighttpd:
If Using Plesk:
8 Verify ionCube Installation
Check ionCube in PHP CLI
Expected Output:
Create PHP Info File for Browser Verification
Or for specific user directory (if using ISPmanager/cPanel/etc.):
Access PHP Info in Browser
- Open your browser
- Navigate to:
https://yourdomain.com/info.php
- Search for "ionCube Loader" using Ctrl+F
- You should see ionCube information in the Zend Engine section
Remove PHP Info File (Security)
After verification, remove the info.php file:
9 Troubleshooting ionCube Loader Issues
| Issue | Fix |
|---|---|
| "Site error: ionCube Loader needs to be installed" | Check php.ini and confirm the correct loader file is loaded. Verify web server restart. |
| ionCube not showing in PHP info | Restart Apache (sudo systemctl restart apache2) or PHP-FPM (sudo systemctl restart php8.1-fpm). |
| Wrong PHP version detected | Ensure you installed the correct ionCube loader for your PHP version. Check with php -v. |
| PHP Fatal error: Unable to load dynamic library | Check the zend_extension path in php.ini. Verify file exists with correct permissions. |
| ionCube works in CLI but not browser | Edit web server's php.ini (apache2/fpm), not just cli php.ini. |
| Loader file not found | Check extension directory path. Use php -i | grep extension_dir to confirm. |
| Multiple PHP versions installed | Install ionCube for each PHP version and edit corresponding php.ini files. |
10 Summary
| Task | Command/Action |
|---|---|
| Check ionCube Installation | php -v or php -m | grep ionCube |
| Download ionCube | wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz |
| Extract Archive | tar -xvzf ioncube_loaders_lin_x86-64.tar.gz && cd ioncube |
| Find PHP Version | php -v |
| Find PHP Extension Directory | php -i | grep extension_dir |
| Copy ionCube Loader File | sudo cp ioncube/ioncube_loader_lin_X.X.so /path/to/extensions/ |
| Edit php.ini | Add zend_extension=/path/to/ioncube_loader_lin_X.X.so |
| Restart Server | sudo systemctl restart apache2 or php-fpm |
| Verify Installation | Use phpinfo(); in browser and search for "ionCube Loader" |
Now your ionCube Loader is installed and your website should work without errors!


