• 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

PHP 5.2.3 and ioncube --

E

etoh1973

Guest
I've been able to install Zend and part of ioncube, but php gives this error message.
Failed loading /usr/lib/php/ioncube/ioncube_loader_lin_.so: /usr/lib/php/ioncub
e/ioncube_loader_lin_.so: cannot open shared object file: No such file or direct
ory
PHP 5.2.3 (cli) (built: Aug 6 2007 11:22:37)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technol
ogies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
[root@ip-72-167-35-123 httpd]#
-- Well the load failed is found in /etc/php.d/ioncube.ini file. I've tried chanining it to php_ioncube_lin_5.2.so -- crushes the whole system.
 
Hmmm....

I can't say for sure that the following advice is correct for your particular installation or not. But here goes:

Personally I'd get rid of ioncube.ini in /etc/php.d/
Check to see if you have a zend.ini in there too? That might also cause problems.


Put all the Zend and Ioncube stuff in /etc/php.ini instead. Then it is all "visible in one place".

You see it is possible that you are getting conflicts in versions - old stuff not being updated and so on.

So, once you have removed ioncube.ini....you need to think about what needs to go in php.ini

The order of things is also vital.

Now in my setup, it looks like this:


Code:
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend328/lib/Optimizer-3.2.8
zend_extension_manager.optimizer_ts=/usr/local/Zend328/lib/Optimizer_TS-3.2.8
zend_optimizer.version=3.2.8
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.1.so
zend_extension=/usr/local/Zend328/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend328/lib/ZendExtensionManager_TS.so

Note that I use Zend382 as the directory name for where my Zend files are located-- you will probably need to use Zend because that's the default. I just always name my Zend directories on the basis of the version being used. It avoids confusion for me. other people think I'm mad.

But the key thing for you is the ioncibe line. It needs to go before the Zend .so files. And obviously it needs to match the version of PHP you have installed. I put my iconcube stuff in /usr/local/ioncube as you can see. You might have put it somewhere else.

In other words the above is just a guide. You'll need to modify it to meet your needs and setup.

Incidentally there's a php file in the ioncube distribution -- ioncube-loader-helper.php -- that helps you out with what needs to go where.


WARNING: Remember that what I'm suggesting may not apply to your distribution or circumstances. I use Centos 4 (RedHat 4). Other Centos/RedHat-like distributions should be similar. But if you are using something totally different it is possible none of that I'm suggestion is correct.

Faris.
 
--Awesome !!

Thanks, Faris

The instructions you provided work.. Made the changes to the /etc/php.ini via your example and went to /etc/php.d/ and cp ioncube.ini to ioncube.ini.old and deleted that iconcube.ini and php loaded correctly.
I did leave that out, after I re-read my post. I did keep going back to etc/php.d during my troubleshooting but I was leary of remove it all together even though it was tryign to load an old lib.

Thanks, again..
the helper ioncube-helper.php; sadly I did not look at them but then again. I thought that they were there for "encoding" and "Decoding" the php files when excuating the files. Now, I know why there was a horrible lack of instructions on website for ioncube loader.. its in the helper.php files.. ARGGH!
Oh, well thanks again!
 
Back
Top