If you've installed ionCube Loader, but PHP info (phpinfo();) does not show it, follow these steps to troubleshoot and fix the issue.
php -m) but not in browser PHP info. This usually indicates different PHP configurations for CLI and web server.
1 Verify ionCube Loader Installation
First, check if ionCube Loader is installed on your VPS or server.
Check PHP Version
Run the following command:
Expected Output (If ionCube is installed):
If the "with the ionCube PHP Loader" line is missing, ionCube is not installed or not loading.
2 Check If ionCube Module Is Loaded
Run the following command to check if ionCube module is loaded:
Expected Output (If ionCube is installed):
If nothing appears, ionCube is not loading properly or not installed.
3 Find and Edit the Correct php.ini File
Often, the wrong php.ini file is being modified. Different PHP installations have separate configuration files.
Find the Active php.ini File
Run the following command:
Expected Output:
This shows the configuration file for CLI (command line) PHP. However, web servers use different php.ini files:
• Apache: /etc/php/8.1/apache2/php.ini
• Nginx with PHP-FPM: /etc/php/8.1/fpm/php.ini
• PHP-FPM Pool: /etc/php/8.1/fpm/pool.d/www.conf
• CentOS/Apache: /etc/php.ini
4 Ensure ionCube Loader Is Enabled in php.ini
Step 1: Find PHP Extension Directory
First, find where PHP extensions are located:
or
Example output:
Step 2: Check ionCube Loader File Exists
Verify the ionCube loader file is in the extension directory:
Expected file name depends on your PHP version:
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
Step 3: Edit php.ini File
Open the correct php.ini file in a text editor (for Apache example):
Add this line in the Dynamic Extensions section (usually around line 900-1000):
Make sure:
- The PHP version matches your installed version
- The file path is correct for your system
- You use
zend_extensionnotextension - The file has the correct permissions (readable by PHP)
Save and exit (CTRL + X, then Y, then Enter).
5 Restart Apache or PHP-FPM
For Apache Web Server:
For Nginx with PHP-FPM:
sudo systemctl restart nginx
For Lighttpd:
Now PHP should load ionCube Loader for web requests.
6 Verify ionCube Loader in PHP Info
Create a PHP Info File
If ionCube is still missing in the browser:
- Create a PHP info file in your web directory:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
- Open in a browser:
https://yourdomain.com/info.php
- Search for "ionCube Loader" using Ctrl+F in the output.
Check ionCube via CLI Again
Run:
If ionCube appears in CLI but not in browser PHP info, it means:
- CLI and web server use different PHP installations
- Different php.ini files are being used
- Web server hasn't been restarted
7 Ensure the Web Server Uses the Correct PHP Version
Check PHP Version Used by Web Server
For Apache:
For Nginx:
Switch PHP Version (If Needed)
For Apache on Ubuntu/Debian:
sudo a2enmod php8.1
sudo systemctl restart apache2
For Nginx with PHP-FPM:
sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx
Check All PHP Versions Installed:
8 Troubleshooting Common Issues
| Issue | Solution |
|---|---|
| "PHP Fatal error: Unable to load dynamic library" | Check zend_extension path in php.ini. Verify file exists: ls -la /path/to/ioncube_loader_lin_X.X.so |
| ionCube appears in CLI but not in browser | Restart Apache/Nginx. Ensure correct php.ini is edited (apache2/fpm vs cli). |
| Wrong PHP version detected | Check with php -v and update php.ini accordingly. Use correct ionCube loader version. |
| Website still shows ionCube error | Ensure loader file is in correct extension_dir. Check file permissions: chmod 644 /path/to/ioncube*.so |
| ionCube not in php -m output | Reinstall ionCube loader. Download from ioncube.com. |
| Multiple PHP versions installed | Edit php.ini for each PHP version. Check which PHP-FPM pool is active. |
9 Summary
| Task | Command/Action |
|---|---|
| Check PHP Version | php -v |
| Check if ionCube is Installed | php -m | grep ionCube |
| Find PHP Extension Directory | php -i | grep extension_dir |
| Find Correct php.ini File | php --ini | grep "Loaded Configuration File" |
| Edit php.ini | Add zend_extension=/path/to/ioncube_loader.so |
| Restart Web Server | sudo systemctl restart apache2 or php-fpm |
| Verify Installation | Use phpinfo(); in browser and search for "ionCube Loader" |
| Check Web Server PHP Module | sudo apachectl -M | grep php (Apache)systemctl status php*-fpm (Nginx) |
Now your ionCube Loader should be fully installed and working in both CLI and web PHP!


