• Home »
  • Errors »
  • Failed loading /usr/sbin/ioncube_loader_lin_5.2.so: /usr/sbin/ioncube_loader_lin_5.2.so: undefined symbol: zend_error_noreturn
Failed loading /usr/sbin/ioncube_loader_lin_5.2.so:  /usr/sbin/ioncube_loader_lin_5.2.so: undefined symbol: zend_error_noreturn

Failed loading /usr/sbin/ioncube_loader_lin_5.2.so: /usr/sbin/ioncube_loader_lin_5.2.so: undefined symbol: zend_error_noreturn

After upgrading PHP recently on a CentOS Linux server from PHP 5.2.X to PHP 5.3.X I ran into numerous minor issues. One of the issues was with a web application that requires the ionCube PHP Encoder libraries to function properly. After upgrading PHP I noticed some errors in the Apache error logs including the ionCube Apache module that was failing to load. Below I display the entire error from the Apache error_log file and how to easily resolve the issue by installing a single package via the Yum Package Manager.

ionCube PHP Encoder Module Loading Error In Apache Error Logs:

bash

  1. Failed loading /usr/sbin/ioncube_loader_lin_5.2.so:  /usr/sbin/ioncube_loader_lin_5.2.so: undefined symbol: zend_error_noreturn
  2. Failed loading /usr/sbin/ioncube_loader_lin_5.2.so:  /usr/sbin/ioncube_loader_lin_5.2.so: undefined symbol: zend_error_noreturn
  3. Failed loading /usr/sbin/ioncube_loader_lin_5.2.so:  /usr/sbin/ioncube_loader_lin_5.2.so: undefined symbol: zend_error_noreturn
  4. Failed loading /usr/sbin/ioncube_loader_lin_5.2.so:  /usr/sbin/ioncube_loader_lin_5.2.so: undefined symbol: zend_error_noreturn

Verify php-ioncube-loader Package Available Via Yum Repos:

First verify the php-ioncube-loader package is available via one of your Yum repositories for the PHP version you have installed using the below example command as reference.

bash

  1. [root@dev httpd]# yum list *IONCUBE*
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4.  * addons: mirror.ubiquityservers.com
  5.  * atomic: www4.atomicorp.com
  6.  * base: dist1.800hosting.com
  7.  * epel: mirrors.tummy.com
  8.  * extras: styx.biochem.wfubmc.edu
  9.  * rpmforge: ftp-stud.fht-esslingen.de
  10.  * updates: mirror.raystedman.net
  11. Available Packages
  12. php-ioncube-loader.i386                                          1:3.3.20-3.el5.art                                           atomic
  13. [root@dev httpd]#

In the above example the php-ioncube-loader package is available via the Atomic repo. Once verified the package can be installed by using the below command.

Install php-ioncube-loader Via Yum On CentOS Linux:

bash

  1. [root@dev httpd]# yum install php-ioncube-loader
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4.  * addons: mirror.ubiquityservers.com
  5.  * atomic: www4.atomicorp.com
  6.  * base: dist1.800hosting.com
  7.  * epel: mirrors.tummy.com
  8.  * extras: styx.biochem.wfubmc.edu
  9.  * rpmforge: ftp-stud.fht-esslingen.de
  10.  * updates: mirror.raystedman.net
  11. Setting up Install Process
  12. Resolving Dependencies
  13. --> Running transaction check
  14. ---> Package php-ioncube-loader.i386 1:3.3.20-3.el5.art set to be updated
  15. --> Finished Dependency Resolution
  16.  
  17. Dependencies Resolved
  18.  
  19. ====================================================================================================================================
  20.  Package                              Arch                   Version                                 Repository                Size
  21. ====================================================================================================================================
  22. Installing:
  23.  php-ioncube-loader                   i386                   1:3.3.20-3.el5.art                      atomic                   1.1 M
  24.  
  25. Transaction Summary
  26. ====================================================================================================================================
  27. Install       1 Package(s)
  28. Upgrade       0 Package(s)
  29.  
  30. Total download size: 1.1 M
  31. Is this ok [y/N]: y
  32. Downloading Packages:
  33. php-ioncube-loader-3.3.20-3.el5.art.i386.rpm                                                                 | 1.1 MB     00:00
  34. Running rpm_check_debug
  35. Running Transaction Test
  36. Finished Transaction Test
  37. Transaction Test Succeeded
  38. Running Transaction
  39.   Installing     : php-ioncube-loader                                                                                           1/1
  40.  
  41. Installed:
  42.   php-ioncube-loader.i386 1:3.3.20-3.el5.art
  43.  
  44. Complete!
  45. [root@dev httpd]#

After the package is installed you should restart your web server for the changes to take. In this example the server is running Apache which can be restarted using the below command example.

Restart Apache For The ionCube Module To Load:

bash

  1. [root@dev ~]# /etc/init.d/httpd restart
  2. Stopping httpd: [  OK  ]
  3. Starting httpd: [  OK  ]
  4. [root@dev ~]#

The ionCube loader error should no longer appear in the Apache error logs.

Apache HTTP Server 2.2 Official Documentation – Volume I. Server Administration (Paperback)


List Price: $29.99 USD
New From: $29.88 USD In Stock
Used from: $15.49 USD In Stock

Wicked Cool PHP: Real-World Scripts That Solve Difficult Problems (Paperback)


List Price: $29.95 USD
New From: $1.94 USD In Stock
Used from: $0.01 USD In Stock

Share