durangod

Well-Known Member
May 12, 2012
505
46
78
cPanel Access Level
Website Owner
Hi,

i saw this in my phpinfo listing...

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with the ionCube PHP Loader v4.7.5, Copyright (c) 2002-2014, by ionCube Ltd.

how do i update zend or ioncube or both?

ps. i have the ioncube loaders downloaded already

udpate: i did try this but it failed

root [/]# yum install ea-php56-php-ioncube5
Loaded plugins: fastestmirror, security, tsflags, universal-hooks
Setting up Install Process
Loading mirror speeds from cached hostfile
* EA4: 208.100.0.204
* cpanel-addons-production-feed: 208.100.0.204
* base: pubmirrors.dal.corespace.com
* extras: repos.dfw.quadranet.com
* updates: pubmirrors.dal.corespace.com
Resolving Dependencies
--> Running transaction check
---> Package ea-php56-php-ioncube5.x86_64 0:5.1.1-7.7.71.cpanel will be installed
--> Processing Conflict: ea-php56-php-ioncube-4.7.5-9.9.71.cpanel.x86_64 conflicts ea-php56-ioncube >= 5
--> Processing Conflict: ea-php56-php-ioncube-4.7.5-9.9.71.cpanel.x86_64 conflicts ea-php56-php-ioncube5
--> Processing Conflict: ea-php56-php-ioncube5-5.1.1-7.7.71.cpanel.x86_64 conflicts ea-php56-php-ioncube
--> Processing Conflict: ea-php56-php-ioncube5-5.1.1-7.7.71.cpanel.x86_64 conflicts ea-php56-ioncube < 5
--> Finished Dependency Resolution
Error: ea-php56-php-ioncube5 conflicts with ea-php56-php-ioncube-4.7.5-9.9.71.cpanel.x86_64
Error: ea-php56-php-ioncube conflicts with ea-php56-php-ioncube5-5.1.1-7.7.71.cpanel.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
root [/]# _
 
Last edited:

durangod

Well-Known Member
May 12, 2012
505
46
78
cPanel Access Level
Website Owner
Hi, thanks i removed everything and confirmed via phpinfo that all of zend and all of ioncube was gone and then reinstalled both again.

So that i dont have to hassle with ioncube next time i set up my own dir for the ioncube files

/opt/cpanel/ea-php56/root/usr/lib64/php/custom_modules/ioncube/ioncube_files
and uploaded all the loaders there..

then i added a custom ini file to the php.d dir

/opt/cpanel/ea-php56/root/etc/php.d/custom_ioncube.ini
the inside that ini file

; Enable IonCube Loader extension module
zend_extension="/opt/cpanel/ea-php56/root/usr/lib64/php/custom_modules/ioncube/ioncube_files/ioncube_loader_lin_5.6.so"
then i restared apache, and then confirmed via phpinfo that my custom ini file was loaded.

However, for some reason the system still feels that the ioncube .so file should be in

Failed loading /opt/cpanel/ea-php56/root/usr/lib64/php/modules/ioncube_loader_lin_5.6.so:
and i dont know why.. i have checked the php.ini that shows on the phpinfo and that url is not in there. I have also checked the php.d dir for anything that might load that settings (by the look of the file name) and nothing..

I did finally just copy the .so file up there to satisfy the server. But where would that config or ini be that sets the default ioncube to that location... ?
 

durangod

Well-Known Member
May 12, 2012
505
46
78
cPanel Access Level
Website Owner
i found it by doing this ...

grep -r "ioncube_loader" /opt
it was in this file

/opt/cpanel/ea-php56/root/etc/php.d/02-pecl.ini:zend_extension="/opt/cpanel/ea-php56/root/usr/lib64/php/modules/ioncube_loader_lin_5.6.so"
I guess that is the (p)hp (e)xtension (c)ommunity (l)ibrary - i never heard of that before,

I sure wish i could disable that so i dont have to have two zend_extension statements in two dif files.

Anyone know how to do that?

UPDATE: since i want to keep my custom install of ioncube. Is there a way to put an if statement inside my custom ini so that if the pecl does not load then mine will.

something like: (i dont know if we can do if staments in ini files or not.

if(zend-extension == null)
{

zend-extension = "my version"

}

this will remove the error message im getting that ioncube is already loaded.

Or maybe i can just remove the setting in the pecl.ini file... I dont know if the system needs that file or not.
 
Last edited:

24x7server

Well-Known Member
Apr 17, 2013
1,912
99
78
India
cPanel Access Level
Root Administrator
Twitter
Hi,

Did you ever manually installed the IonCube on your server and used it? If not, then the above would not be the cause of the problem..

You should perform the ioncube update via EasyApache 4 interface, where it resolves all the dependencies properly..
 

durangod

Well-Known Member
May 12, 2012
505
46
78
cPanel Access Level
Website Owner
Yes but the problem is that doing it that way is not working to accept the 5.6.so file.

My question also is why is there a pear.conf file

/opt/cpanel/ea-php56/root/etc/pear.conf

with a call to a 02-pecl.ini file for ioncube? Its very confusing... it would seem that it would be in a php.conf file

all i want to do is run my own custom ioncube seperate from the default, that way i dont have to go chasing files, i know exactly where things are.
 

durangod

Well-Known Member
May 12, 2012
505
46
78
cPanel Access Level
Website Owner
OK after some research here is what i believed happened here..

In WHM under module installers there is an option for pecl and it gets its packages from there

PECL :: The PHP Extension Community Library

Now since the original zend install comes with ionCube 4+.... (i dont know why) then Cpanel had to update the IonCube

So rather than install all of the ionCube loader .so files they just chose one file, the 5.6.so file.

Then they had to have someplace to put it. So instead of placing it in a logical obvious folder name they just stuck it in the pear.conf because they had pear already installed.
Its alot like placing the wrong size tire on a car and saying well it has 4 lugs and its round and it will get you down the road where you need to go, just dont tell anyone where you got it because its a secret lol

So bottom line is that these files below call the /opt/cpanel/ea-php56/root/etc/php.d/02-pecl.ini file which sets the zend-extension.


/opt/cpanel/ea-php70/root/etc/pear.conf
/opt/cpanel/ea-php56/root/etc/pear.conf
/opt/cpanel/ea-php55/root/etc/pear.conf

So why is this a big deal, because the way they did this trumps all other settings, even a custom ionCube install.

why cant they just take some time and put stuff in a logical place... so that stupid people like me dont have to spend all this time to figure things out.

All they had to do was set the zend in a custom ini file and place it inside the php.d folder which is the common place to find ini type files.

Plus the fact that i just looked for pecl modules in my module installers and there are none installeed. And remember there is no ionCube package for pecl. So now it really makes no sense why they used a pecl ini file when no pecl's are installed.

So some might say well why dont you just edit the

/opt/cpanel/ea-php56/root/etc/pear.conf

file and point it to your custom ionCube ini file. Have you ever seen this file, its got all kinds of stuff in it and i dont know what to put where and how it might effect the system, thats why..

And then i thought ok well just go into easyapache4 and just remove ionCube which should remove the pecl requirement and then you can set your own link in your home phpini. We that does not work because when you uninstall ionCube via the easyapache process it also uninstalls zend which i need.

And then i decided to try to just install ionCube again with easyapache but i cant because the version is way outdated.

php56-php-ioncube 4.7.5-9.9.71.cpanel

so this is what makes me so mad sometimes. How long as cpanel been around, and how long have all of us from time to time needed ionCube or the like. And yet they dont have a standard menu driven process to just get the job done with a current version!! Why would they even offer 4.75, whats up with that..
 
Last edited:

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,261
463
Hello,

The following document lists the current versions of IonCube we offer for each PHP version:

PHP Options - EasyApache 4 - cPanel Documentationhttps://documentation.cpanel.net/display/EA4/PHP+Options#PHPOptions-PHPloadersorencoders

Additionally, there's some important information to review under the "Notes" section regarding the Zend Guard Loader and IonCube Loader.

The best approach in my opinion is to let EasyApache 4 handle the installation of IonCube Loader. We're typically pretty quick about getting new versions published. Can you verify the specific version you are seeking to use that isn't currently offered?

Thank you.
 

durangod

Well-Known Member
May 12, 2012
505
46
78
cPanel Access Level
Website Owner
ok thank you sir, appreciate the reply. But no its the 5.6.so but i was advised by someone outside of cpanel to do my own install because it would be easier to update. But if you update them rather quickly i will be glad to let cpanel handle it... less to worry about... thanks so much... :) nice job..
 

durangod

Well-Known Member
May 12, 2012
505
46
78
cPanel Access Level
Website Owner
sure sorry.... ioncube_loader_lin_5.6.so x86-64 does that help.
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,261
463
Hello,

Yes, you'd simply install it using the following command:

Code:
yum install ea-php56-php-ioncube5
Upon doing so, you should see that version reflected in the ini file that's automatically populated:

Code:
cat /opt/cpanel/ea-php56/root/etc/php.d/01-ioncube.ini
; Enable Experimental v5 IonCube Loader extension module
zend_extension="/opt/cpanel/ea-php56/root/usr/lib64/php/modules/ioncube_loader_lin_5.6.so"
Keep in mind you cannot use ionCube 4, ionCube 5, and ionCube 6 simultaneously. You must choose one version, and note that ionCube 4 and 5 are not compatible with PHP 7:

PHP Loader: ionCube 5 - EasyApache 4 - cPanel Documentation

Thank you.