Archived
This forum has been archived. Please start a new discussion on GitHub.
Problem With CentOS 5.6
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
-
Hi Kevin,
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,
Mark0 -
Thanks for the response, I really appreciate it.
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.
Kevin0 -
Ok, if you're sure you've got Ice 3.3.x installed, then it's also possible that the Ice extension (IcePHP.so) isn't being loaded by PHP. There are several possible reasons for this, the simplest being that PHP isn't yet configured to load the extension, or perhaps PHP isn't finding the Ice shared libraries required by the extension.
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,
Mark0 -
Thanks for the response once again, your help is greatly appreciated.
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,
Kevin0 -
Hi,
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,
Mark0 -
That's why. I'm using Php 5.2.17
Thanks,
Kevin0 -
I will definitely go take a look..
Thanks so much for your help again, greatly appreciated. I will come back here if I have further questions.
Kevin0 -
I have a very stupid question,
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.0 -
Is it any possible that you can do a remote session with me and help me out? I'm willing to pay you a support fee.0
-
On the command line, type:
% 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.
Mark0 -
Thanks, now it's saying "Unable to find slice2cpp in *****"
I've set ICE_HOME to where I put the Ice-3.3.1 folder.0 -
Thanks,
I accidentally set the ICE_HOME, is there a way to make it back to default?0 -
HiI 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/Unixunset ICE_HOME
Or in Windowsset ICE_HOME=
if you define it in config/Make.rules just comment or remove the line out.#ICE_HOME=....
0