Problem With CentOS 5.6

in Help Center
So I'm having a little problem getting ICE to work on CentOS 5.6. Hopefully someone can help. I'm trying to set up Mumb1e (Mumble/Murmur's admin control panel)
1) I've installed LAMP, and ice-php through ZeroC's repo.
2) Changed /usr/local/lib/php.ini, changed the line to:
extension_dir = /usr/lib64/php/modules/
3) Then I /etc/php.d/ice.ini to
extension=IcePHP.so
ice.slice = -I/usr/share/Ice-3.3.1/slice /home/admin/murmur/Murmur.ice
4) Changed murmur.ini to use ICE.
5) Start murmur.x86 with mySQL, everything works.
6) Go set up control panel (on website), then I get this:
Fatal error: Call to undefined function Ice_loadProfile() in /home/admin/domains/newember.com/public_html/murmur/inc/resources/php/slice.php on line 38
Could someone please help? Or if anyone can help set it up, I'm willing to pay a little support fee. Thanks.
1) I've installed LAMP, and ice-php through ZeroC's repo.
2) Changed /usr/local/lib/php.ini, changed the line to:
extension_dir = /usr/lib64/php/modules/
3) Then I /etc/php.d/ice.ini to
extension=IcePHP.so
ice.slice = -I/usr/share/Ice-3.3.1/slice /home/admin/murmur/Murmur.ice
4) Changed murmur.ini to use ICE.
5) Start murmur.x86 with mySQL, everything works.
6) Go set up control panel (on website), then I get this:
Fatal error: Call to undefined function Ice_loadProfile() in /home/admin/domains/newember.com/public_html/murmur/inc/resources/php/slice.php on line 38
Could someone please help? Or if anyone can help set it up, I'm willing to pay a little support fee. Thanks.
0
Comments
Welcome to the forum.
This is a common problem for Mumble users. The issue is that the Mumble code you are using is written using an older version of Ice for PHP (specifically, Ice 3.3 and earlier). The Ice for PHP APIs changed significantly in the 3.4 release. Unless Mumble has been updated accordingly, you'll have to continue using Ice 3.3. If you're using the latest Mumble release, I think it's safe to assume that it hasn't been updated for Ice 3.4. The simplest solution in that case is to uninstall Ice 3.4 and install Ice 3.3 instead.
Please note that we don't provide support for Mumble; you'll have to get in touch with the Mumble developers if you have questions that aren't related to Ice.
Hope that helps,
Mark
Thing is, when i run yum list ice-*, I get the versions 3.3.1
Which means I am running on ICE 3.3.1
Thanks regardless, if anyone has more insights into this, please help.
Kevin
Here's a simple test: In a command shell window, run
% php -m
This shows all of the extensions that are configured into PHP. If you don't see an entry for "ice", then this explains why the Ice_loadProfile function isn't being found, as this function will only be available when the Ice extension is loaded.
Note that the ice-php RPM installs /etc/php.d/ice.ini, which should automatically load the Ice extension into PHP.
Regards,
Mark
I did php -m, and i did not see Ice being listed.
Should I change php.ini's line
extension_dir = /usr/lib64/php/modules/
back to what it was before? which was
extension_dir = "./"
I don't understand why it isn't being loaded.
Thanks,
Kevin
Are you using the default version of PHP for CentOS 5.6 (which is PHP 5.1.6), or a newer version? If you are using a newer version, that would also explain why the Ice extension isn't being loaded. The Ice extension included in the Ice RPMs is built for and intended to be used with the system's default PHP version. If you have installed PHP 5.2 or later, it won't be able to load this Ice extension.
To solve this, you'll need to build the Ice extension from source so that it is compatible with your PHP version.
Cheers,
Mark
Thanks,
Kevin
Mark
Thanks so much for your help again, greatly appreciated. I will come back here if I have further questions.
Kevin
I'm trying to edit the PHP_HOME part in the src make.rules since i do not have a php folder in /opt
Just curious though, do you know where my php is installed? I can't seem to find it. It's not in the default /opt/php folder. Is there somewhere else I should look?
I'm getting errors while doing "make" under php folder.
% which php
Set PHP_HOME to the parent directory of the response. For example, if the output of the which command is
/usr/local/bin/php
then set PHP_HOME like this:
% export PHP_HOME=/usr/local
It's not necessary to modify the Make.rules file just to change PHP_HOME; setting the environment variable is sufficient.
Mark
I've set ICE_HOME to where I put the Ice-3.3.1 folder.
Mark
I accidentally set the ICE_HOME, is there a way to make it back to default?
If you export ICE_HOME in your environment just unset it.
In Linux/Unix
Or in Windows
if you define it in config/Make.rules just comment or remove the line out.