• 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

Horde issues after upgrade to 7.5.3 - what fixed it for me...

O

oztec

Guest
Hi All,

after spending countless hours trying to get my horde working after upgrade from 7.5.2 to 7.5.3 (linux fc2) I managed to get it working. Thought I might post what worked for me to save someone else a few hours, hopefully.
===========================
Most probably there is the problem with the ioncube loader. To resolve this issue you should download ioncube archive from:

http://www.ioncube.com/loaders.php

unpack it and replace ioncube files with the files from archive. Usually ioncube files located in /usr/lib/php4/ directory. To specify ioncube files location you should run the following commands:

# cat /etc/php.ini |grep -i ioncube
# cat /etc/php.d/ioncube.ini |grep -i ioncube
=======================

restarted the server after this, all was ok.

I don' t know much else, hopefully it will help someone.
 
Thanx oztec, you save me, i had to change to 5.0 version too 'couse 4.3 it didn't work for me!
 
Thanks to both of you...

The advice here fixed a problem with horde and sitebuilder. I did have to use the ioncube 5.0 loader as well.
 
I have nothing in /usr/lib/php4/

They are all in /usr/local/ioncube
 
I bet that's something that is distribution-dependent. What distribution are you using?
 
This thread raises an interesting question:

What version of PHP are you all running?

On at least one FC2 server, I found the ioncube loader in /usr/lib/ioncube/, where there were several different loader versions (4.1, 4.2, and 4.3) - which should match the version of PHP that's installed (my FC2 server has 4.3.10 installed).

If you download the loaders from:

http://www.ioncube.com/loaders.php

you will also get ioncube loaders for PHP 5 (and you can put the ioncube directory anywhere you want to put it as long as your php.ini file points to that directory) - but unless you're actually running PHP 5, the loader for PHP 5 won't actually work - apachectl configtest should show an error. Something like:

Failed loading /usr/local/ioncube/ioncube_loader_lin_5.0.so: /usr/local/ioncube/ioncube_loader_lin_5.0.so: undefined symbol: zend_std_get_static_property

But Apache will start - just without ioncube support.

This leads one to wonder if installing the version 5 loaders is really fixing the problem, or breaking the ioncube installation altogether and allowing Horde to work because Ioncube isn't installing at all. A while back, I found that the sequence of loading the Ioncube loaders, relative to the sequence in loading Zend Optimizer made quite a difference in whether things worked right. If that sequence is wrong, then "breaking" Ioncube might seem fix the problem.

On a system with the version 5 loaders installed - what do you get if you load the test file ioncube-install-assistant.php in a browser? This would confirm, or deny, that Ioncube is actually working or not.
 
Hi,

i have PHP 4.3.2 and ioncube 5.0.

i uploaded on a domain httpdocs thes files:

ioncube-rtl-tester.php
ioncube-encoded-file.php
ioncube-install-assistant.php
ioncube-loader-helper.php
ioncube-sysinfo.php

If i load in my browser i have:


ioncube-rtl-tester.php:
This script has been replaced by ioncube-loader-helper.php To install ionCube Loaders, please run ioncube-loader-helper.php, and follow the displayed instructions.


ioncube-encoded-file.php:
Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/httpd/vhosts/radioyes.net/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/httpd/vhosts/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/httpd/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

ioncube-install-assistant.php:
This script has been replaced by ioncube-loader-helper.php To install ionCube Loaders, please run ioncube-loader-helper.php, and follow the displayed instructions.

ioncube-loader-helper.php:

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/httpd/vhosts/radioyes.net/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/httpd/vhosts/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/httpd/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../home/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../../ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../../ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/../ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2

Warning: file_exists(): open_basedir restriction in effect. File(/usr/lib/php4/ioncube/ioncube_loader_lin_4.3.so) is not within the allowed path(s): (/home/httpd/vhosts/radioyes.net/httpdocs:/tmp) in /home/httpd/vhosts/radioyes.net/httpdocs/ioncube-encoded-file.php on line 2


An ionCube Loader file is required by PHP to read files encoded with the ionCube Encoder. This page will determine how you can install Loaders on this particular server.

The loading of ionCube encoded files is not currently working correctly on this server.

If you have permission to edit the php.ini configuration file for this server, please follow the php.ini installation instructions.

If you do not access to the php.ini file, please follow the run-time loading installation instructions.

Please read the online documentation, or review the file readme.txt enclosed with the Loader bundle, for more help with Loader installation.



ioncube-sysinfo.php:
This script has been replaced by ioncube-loader-helper.php To install ionCube Loaders, please run ioncube-loader-helper.php, and follow the displayed instructions.


******

hope you can have more infos now, i think yiu're right ... 5.0 loader do not works on my sys so i simply all seems to work without ioncube
:rolleyes:
 
I get basically the same results.

The apachectl configtest did not report an error (it said Syntax OK), but when I ran the ioncube-loader-helper.php, I got pretty much the same output.
 
Sort of as I suspected - attempting to load the version 5 ioncube loaders on a server running PHP 4.3 simply breaks the ioncube loader.

This is interesting as it suggests that the Ioncube loaders, or perhaps the sequence in which they are loaded in the php.ini file may be the real culprit in the Horde problem.

While I can't remember the specific application I had trouble with, I do remember that it was on a server which had some applications that required Zend Optimizer, and another one which required Ioncube, I found that this sequence was required for them both to work:

[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.10
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.10
zend_extension=/usr/local/ioncube/ioncube_loader_lin_4.1.so
zend_optimizer.version=2.5.10
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

The FC2 server I looked at loaded the ioncube loader ahead of Zend Optimizer:

zend_extension = /usr/lib/ioncube/Ioncube_loader_lin_4.3.so

[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.7
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.7
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

Note that most of the errors in the two previous posts point to open_basedir problems; since there IS an openbasidir restriction on a Plesk server, if you want Ioncube to work you can't install to /home/httpd/vhosts - you would have to put the loaders in /home/httpd/vhosts/domainname.com/httpdocs which is within the restriction. This is a bit different that what the instructions on the Ioncube site suggest.
 
I don't find the word zend at all in my php.ini file, except in the zend_extension line that references the ioncube loader.

FWIW - I commented out the line that referenced the ioncube loader and restarted httpd and it seems like horde and the other php sites still work.
 
i tried to come back to 4.3 in php.ini but all php sites are down :(

so i simply commented last line in php.ini
zend_extension = /usr/lib/ioncube/Ioncube_loader_lin_4.3.so

restart apache and all work again but this isn't the right solution and the bad thing is i simply done an update from plesk panel and now i'm wasting my time invesigating on a stupid bur major problem that put downn all php stes od my clients for hours... is this serious?

any suggest are welcome
 
i tried to put:

; Local Variables:
; tab-width: 4
; End:


[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.7
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.7
zend_extension = /usr/lib/ioncube/Ioncube_loader_lin_4.3.so
zend_optimizer.version=2.5.7
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so


at the end of my php.ini file but it didn't fix the problem, .. php sites are down.


Another strange thing is that on another box of mine with same OS and Plesk i have no ioncube files in php4 dir.

any solution?
 
What worked for me

Mr Yes,

I ran into this same problem while trying to install the "older" Sitebuilder 1.1.1. I finally copied all the ioncube files into a /usr/local/ioncube/ folder then added the following line into the php.ini file:

zend_extension=/usr/local/ioncube/ioncube_loader_lin_4.3.so

But I had to put it near the top, under Dynamic Extensions. So if you / for Dynamic Extensions, then add the line (mine went under extension=ixed.4.3.lin) then commented out all other references to ioncube. Do a reload of apache (or restart whichever) and try that. I'm sure you can put the files in /usr/local/ioncube/ or /usr/lib/php4/ and it would work, just reference it correctly.

Hope that helps you.

Rob
LNHosting.com
 
Hi rspurlock,

i tried what u said but i haven't ioncube dir under usr/local/ioncube, i have it in /usr/lib/ioncube (RHEL3).

I tried to move zend_extension = /usr/lib/ioncube/Ioncube_loader_lin_4.3.so under "Dynamic Extention" in my php.ini file and restart httpd but nothing, my php sites are still down :(

thanx anyway
 
Actually, my horde/imp issue was due to the fact that when I upgraded, and then the system freaked out I had to manually rpm install horde and imp. That fixed my horde/imp after a real reboot.

I think one big item here is that if the php doesn't work but everything else does, then something's wrong in the php.ini file or one of the php.d includes. For my system, when I installed the SiteBuilder, it added an ioncube.ini file with this single line:

zend_extension=/usr/lib/php4/ioncube_loader_lin_4.3.so

I just commented it out since I already had the statement in my php.ini file. Once I did that, apache would start. With both statements (one in ioncube.ini and one in php.ini) the httpd service wouldn't even start. So it sounds like something else is amiss if Mr Yes can see regular html files but no php files.

Here's what I have in my /usr/local/ioncube folder (your location may vary)

[root@psk01-shd php.d]# ls -l /usr/local/ioncube/
total 1420
-rwxr-xr-x 1 root root 203236 Apr 3 21:09 ioncube_loader_lin_4.0.so
-rwxr-xr-x 1 root root 184740 Apr 3 21:09 ioncube_loader_lin_4.1.so
-rwxr-xr-x 1 root root 177956 Apr 3 21:09 ioncube_loader_lin_4.2.so
-rwxr-xr-x 1 root root 183332 Apr 3 21:09 ioncube_loader_lin_4.2_ts.so
-rwxr-xr-x 1 root root 178564 May 30 01:00 ioncube_loader_lin_4.3.so
-rwxr-xr-x 1 root root 184068 May 30 01:00 ioncube_loader_lin_4.3_ts.so
-rwxr-xr-x 1 root root 145636 May 30 00:49 ioncube_loader_lin_5.0.so
-rwxr-xr-x 1 root root 150052 May 30 00:49 ioncube_loader_lin_5.0_ts.so


Here's how ioncube is called in php.ini:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
extension=ixed.4.3.lin
zend_extension=/usr/local/ioncube/ioncube_loader_lin_4.3.so


Here's how the rest of my zend_extensions are called in php.ini:

[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.7
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.7
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

Which is at the very bottom of the php.ini file while the ioncube directive is near the top.

If this is all set up, I recommend digging through the log files when you do a service httpd stop/ service httpd start and see what errors you get. That will help us find the culprit. Anyone?
 
I added sitebuilder to my Plesk server this evening using the control panel. It broke the apache service. I'm running a FC1 server.

The installation added a ioncube.ini file into my /etc/php.d/ directory that had a zend_extension line pointing to ioncube_loader_lin_4.3.so.

I commented out the line in the ioncube.ini file as it is duplicating the line that also exists in the /etc/php.ini file. I believe the files in the php.d directory are read after the php.ini and this would explain the error message that was stating that the ioncube definition should be the first zend_extension line - it was effectively appearing both above and below the other entries, above in the php.ini and then below in the included php.d/ioncube.ini file.

Before I did this though, I had upgraded to the latest ioncube libraries from the ioncube site.

If you are running PHP 4.3.x, you have to stick with the 4.3 library. This was confirmed by copying the ioncube-loader-helper.php script that was included with the latest ioncube binaries into an accessable place on one of my virtual hosts.

Hope that helps.

Garan.
 
Ok, this fixed the problem :)

commenting the line in ioncube.ini file into my /etc/php.d/ directory and decommenting the one in my php.ini solved my problem, but now sitebuilder it will work correctly?

thanx 2 all

FYI: i have no dynamic extention or other Zend extemtion in my php.ini
 
Here's my [zend] section from my /etc/php.ini.

[Zend]
zend_extension = /usr/lib/ioncube/ioncube_loader_lin_4.3.so
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.5
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.5
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

Garan.
 
Back
Top