I’ve installed the php v5.2.17 from the bleeding edge repository and all is working except the ioncube loader. I went to the ioncube loader site and got the latest 64bit 5.2 loaders and installed them on this centos 5.6 server and set the zend_extension variable correctly in php.ini but now if I do a php -v I get this:
Yeah, Ioncube should work well with those PHP versions. I did some Googling on the error you got, and I ran into this thread in the Ioncube forums… they list a few thoughts as to what might cause that:
Hmm, so you have all three of those lines in your php.ini file? That may actually be your issue there… I believe zend_extension is a non-threaded version of ioncube, and zend_extension_ts is for a threaded version.
Typically, you’d use one or the other, not both versions of Ioncube.
My recommendation would be to comment out the “zend_extension_ts” line and see if that works for you.
Ok, i commented out that line and restarted apache and did php -v again and got same exact message. Is there another php.ini or another version of php (5.1.6) on this box from before I upgraded php? If everything is working then I guess it’s not that big of a deal…I just know that if there is one error message somewhere, something may go wrong at some point.
it’s says it’s using this:
/home/clip2/etc/php5/php.ini
I checked that file and made sure there was no thread loader. But also, why is it loading that ini file and not /etc/php.ini?
Also, i’m doing this php -v via ssh command, so I doubt the root server is checking this one virtual server’s php.ini file. Or maybe it’s checking both…I don’t know why virtual servers are getting their own php.ini. It’s a good thing and a bad thing. Good because each account can manage their own php settings, bad if thye main server is checking different php.ini files for loaders.
Yeah, any Virtual Server using CGI or FCGID as it’s Execution Mode will use it’s own php.ini file. Only Virtual Servers using mod_php use a global php.ini.
However, most distros have a global directory for PHP .ini files that every PHP application on the system will read from. On CentOS, that’s typically /etc/php.d.
However, you should see a list of what additional .ini files are being processed in your phpinfo output, which would tell you where those are being loaded.
there was a line (zend_extension= “/usr/lib64/php/modules/ioncube_loader_lin_5.2.so”) going to the ioncube loader. I commented it out and ran php -v and no errors now.
Why was that line in there? was it from the previous virtualmin php 5.1 version?
The Ioncube loaders aren’t distributed with PHP, so that line would have been added either manually by the root user, or perhaps during the installation of an app.
Also, I noticed when virtuamin had php 5.1 and I installed phpmyadmin using the new installer scripts onto a virtual server it upgraded everything to php to 5.3.6.
Was that because it saw php v5.1 and phpmyadmin had to have php 5.2+? because I just tried installing phpmyadmin again on my new server here with the php 5.2.17 that we just worked on in this post, and it’s still 5.2.17 after the phpmyadmin install. So, that must be it, but just getting clarification from the vm team!
Also, thanks for everything, you guys are great on this forum!
Well, CentOS comes with PHP 5.1.x. Virtualmin would attempt to use that, unless told otherwise
You can use PHP 5.2.17 by setting up the bleed repo.
However, CentOS doesn’t come with 5.3.6, nor is that in the bleed repo… so I’m not sure where that’s coming from. Is it possible you enabled a third party repo?
I know this is an old post, but I also have problems with the Ioncube on my VirtualMin Pro installation.
I have recently installed WHMCS and setup an account with OpenSRS.
The system recommend that I setup a weekly cron job to run the following command :
Output from command php -q /home/ito-hosting/public_html/modules/registrars/opensrs/opensrssync.php …
PHP Warning: Module ‘mssql’ already loaded in Unknown on line 0
Site error: the file /home/ito-hosting/public_html/modules/registrars/opensrs/opensrssync.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.
But if I look into the PHP.ini located in the virtual server /home/ito-hosting/etc/ I see the following line (last line in the PHP.ini file).
zend_extension=/home/ito-hosting/etc/ioncube_loader_lin_5.2.so
And I can see the file referred to in the above variable.
I have tried to restart the http service, without any result.
You can see my PHPinfo file here : http://www.ito-hosting.com/phpinfo.php
I can’t see what I missing.
Shall I add the Ioncube loader to the default PHP.ini as well?
That is right
I have commented that line out with the MySQL load so it will not be loaded twice.
I setup the cron job to run two twice a week at 2 AM, but the job ran for every minute for an hour, until I noticed the “Minutes” section.
It was set to all so that explains it, I thought it was was minutes in the specific hour it should run and not how many minutes it would run
Is it possible to create cron jobs to run on specific times in a specific hour?
For example 02:15 and 02:25 or similar?