• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Update to 11.0.9 destroy Zend Guard Loader

SalvadorS

Regular Pleskian
Hello,

I had Zend Guard Loader installed over Plesk 10.4.4. When I updated to 11.0.9 Zend Guard Loader stop to work.

I found two changes:

1.- Lines I added on php.ini for Zend Guard loader was commented:

[Zend.loader]
;zend_extension=/usr/local/lib/zend/ZendGuardLoader.so
;zend_extension=/usr/lib/php5/20090626/ioncube_loader_lin_5.3.so
;zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.3.so
;zend_optimizer.optimization_level=15
;zend_loader.enable=1
;zend_loader.disable_licensing=0
;zend_loader.obfuscation_level_support=3
;zend_loader.license_path =

2.- Found a file called zend_extensions_psa.ini on /etc/php5/conf.d with this content:

; Following directives were moved from php.ini files by Plesk to avoid load order errors
; Please do not add any zend_extension* or extension directives directly into php.ini

If I add the line:

zend_extension=/usr/local/lib/zend/ZendGuardLoader.so

to:

00-ioncube-loader-5.3.ini under etc/php5/conf.d and restart apache:

root@xxx:/etc/php5/conf.d# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .
root@xxx:/etc/php5/conf.d# php -v
PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0
root@xxx:/etc/php5/conf.d# top

So if I can´t add lines to php.ini... Can you please tell me what I have to do to fix the problem? Where I hace to add the lines to load Zend Guard loader? Thanks
 
Last edited:
I think it really is just a load order thing, or that you are loading ioncube twice.

In your old php.ini config, Zend looks as though it was being loaded before Ioncube. Or was it? I note there are TWO lines trying to load ioncube. I wonder if one or even both of them were commented out BEFORE you did your upgrade? Or was the Zend one already commented out? It is difficult to tell unless you have a pre-11 copy of your php.ini.

At any rate, the configuration files get loaded from /etc/php5/conf.d (or /etc/php.d/ or wherever it might be for a particular OS) in alphabetical order, as you noted already.

On my system, Ioncube Loader is loaded via ioncube.ini which is therefore BEFORE Zend Guard which is loaded via zendguard.ini

So I would add the Zend stuff to zend_extensions_psa.ini and the ioncube stuff to ioncube.ini.

But don't just copy what you used to have in php.ini. Like I say I think something was commented out before your upgrade - particularly one of those ioncube loader lines. Maybe that's all that's wrong? You have two lines loading ioncube in your 000- file?

Faris.
 
I think Faris Raouf is right - those lines have been commented out beforehand.

Plesk 11 indeed can comment out zend_extension lines in php.ini and move them to conf.d/zend_extensions_psa.ini file. But in such cases it adds following comment in the end of a commented line:

; moved to conf.d/zend_extensions_psa.ini by Plesk

There are no such comments in your php.ini fragment. Therefore I suppose Plesk did nothing here.

Back to your problem. You should not add custom zend_extension lines to conf.d/00-ioncube-loader-5.3.ini file. Instead add them to conf.d/zend_extensions_psa.ini (as comments in this file suggest). This will prevent load order problems since files in conf.d/ are processed in alphabetical order (note that ionCube extension must be loaded first).
 
Back
Top