• 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
  • Inviting everyone to the UX test of a new security feature in the WP Toolkit
    For WordPress site owners, threats posed by hackers are ever-present. Because of this, we are developing a new security feature for the WP Toolkit. If the topic of WordPress website security is relevant to you, we would be grateful if you could share your experience and help us test the usability of this feature. We invite you to join us for a 1-hour online session via Google Meet. Select a convenient meeting time with our friendly UX staff here.

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