How to fix IonCube/ZendGuard “undefined symbol: executor_globals” after upgrading Apache and PHP

How to fix IonCube/ZendGuard “undefined symbol: executor_globals” after upgrading Apache and PHP

undefined symbol: executor_globals

Recently when updating a WHM/cPanel server to use the new version of Apache and PHP (Apache 2.4 & PHP 5.6), after everything completed, I kept getting errors even though I know the PHP modules for IonCube and ZendGuard were installed correctly … turns out there was another issue … and here’s how to fix it.

This is the error I kept getting when trying to load a site that requires the IonCube PHP library:

Site error: the file /home/website/public_html/clientarea.php requires the ionCube PHP Loader to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.

Which was weird, because I know for a fact that I made sure to enable/install IonCube when upgrading Apache and PHP.  Turns out the issue was not due to the loader file not being installed, but due to 

undefined symbol: executor_globals


I was able to find this error by SSH into the server, and typing 

php -v

As you can see below, that is the exact error I was getting (and your should be similar):

root@server [/usr/local/IonCube]# php -v
Failed loading /usr/local/IonCube/  /usr/local/IonCube/ undefined symbol: executor_globals
Failed loading /usr/local/Zend/lib/Guard-7.0.0/php-5.6.x/  /usr/local/Zend/lib/Guard-7.0.0/php-5.6.x/ undefined symbol: executor_globals

Turns out, this isn’t due to the PHP loader files, it was actually due to the fact that my original server configuration (for EasyApache), had Apache configured to use MPM Worker, which is NOT compatible with non-thread safe libraries! Doh!!  (This includes mod_php)

So how do you fix this?  Easy!  Just go back into EasyApache (configure a new build), and make sure you select MPM Prefork  (or any MPM compatible with non-thread safe libraries)… rebuild, and voila!

smyles 56 1

It’s always something simple isn’t it 😛

ALSO … if you’re using cPanel/WHM, check the 


 file to make sure that it does NOT have 




  in that file, otherwise you will still have issues.

Source: sMyles
Apache apache 2.4 CloudLinux cPanel easyapache executor_globals hosting Installation ioncube Linux PHP RHEL Software Troubleshooting Tutorials undefined symbol upgrade whm zendguard