This forum has been archived. Please start a new discussion on GitHub.

Installing Ice to run with Murmur/Mumble

I am following the Ice setup @ Ice - Mumble In the section--- How to setup Ice for PHP with XAMPP on Windows - or the right way to use Ice on Windows . It states this:
Copy the File php_ice.dll from <your path>\ZeroC\Ice-3.4.0\bin to <your_path>\xampplite\php\ext Edit the php.ini in <your_path>\xampplite\php and add :

I added the extension=php_ice.dll to the extension group in php.ini but where do I put: ice.slice=<mumble_path>\ ?
I am getting this error in my apache error logs: PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\xampp\\php\\ext\\php_ice.dll' - The specified module could not be found.\r\n in Unknown on line 0

After doing that it also states:
Now start XAMMP and check the phpinfo().
What should I be looking for in phpinfo() ?
I did a search of Ice in the phpinfo() after restarting apache and could not find anything.
I have attached a .zip with my php.ini inside.

I posted over @ sourceforge also but was hoping maybe to get some help here.
Thanks 25.9K


  • What would I type in the cmd prompt to see if Ice is part of a users environment?

    Ice is installed @:
    C:\Program Files (x86)\ZeroC\Ice-3.4.1

    I am extremely new to all this, so thanks for any help. And as for the OP, i did not get any response from SourceForge. Maybe even a hint or 2 to get me on the right track would be great.

    Thanks again
  • benoit
    benoit Rennes, France

    I'm not familiar with Mumble but this error indicates that either the php_ice.dll couldn't be found (is it correctly copied in the <your_path>\xampplite\php\ext directory?) or that one of the php_ice.dll dependency can't be loaded/found.

    The Ice installer doesn't modify the environment, it doesn't add its bin directory to the PATH for example... so did you correctly followed the Mumble instructions and changed your system PATH to add the Ice bin directory? Does executing slice2php from a command prompt works without having to modify the PATH environment variable?

  • Hi Benoit, thanks for the reply.

    Yes, slice2php in cmd prompt works now. And i see Ice in my phpinfo().

    I am almost done figuring this thing out. I hope. I need some more info though.

    The scripts that i am using for accessing the Murmur Tree have:

    And I am getting the fatal error of course for that:
    Fatal error: Call to undefined function Ice_loadProfile()

    Just wondering how i can maybe get around that. From the documentation here:
    Ice - Mumble. In the section, How to setup Ice for PHP with XAMPP on Windows - or the right way to use Ice on Windows. The author shows how to setup a profile description on Debian etch with apache2, PHP as fcgid and cli. But nothing for Windows. And that is where i am stuck.

    I can upload the php scripts for you to view just let me know. Thanks again as i am very new to all this
  • mes
    mes California

    If the Mumble instructions say that you should use Ice_loadProfile with Ice 3.4.x, then the Mumble instructions are broken because that function was removed in Ice 3.4.

    Until the Mumble instructions are fixed, you're probably better off using Ice 3.3.1.

  • Hi,

    Thanks mes for the reply. If I use 3.3.1, im pretty sure that has a earlier version on php (5.2.6) and xammp has php 5.3.1 . So, I am assuming it will not be compatible? Correct?
  • mes
    mes California
    If you must use Ice 3.4, you should review the PHP setup instructions that are provided in the README.txt file included in the Ice binary distribution for Windows. You can find this file in your Ice installation directory.

    We can try to help you get Ice for PHP (version 3.4.1) running, but you'll need to look elsewhere for help with any Murmur/Mumble issues.

  • Ok thanks Mark,

    Doing some more testing with the script, I get this:
    Fatal error  Uncaught exception 'RuntimeException' with message 'no definition found for class or interface ::Murmur::Meta' in C:\xampp\htdocs\mum\index.php:20
    Stack trace:
    #0 C:\xampp\htdocs\mum\index.php(20): Ice_ObjectPrx-&gt;ice_checkedCast('::Murmur::Meta')
    #1 {main}
      thrown in C:\xampp\htdocs\mum\index.php on line 20

    And here is line 19 and 20 of the script:
    19) $base = $communicator->stringToProxy("Meta:tcp -h -p 6502");
    20) $meta = $base->ice_checkedCast("::Murmur::Meta");

    If its a Mumble/Murmur issue just let me know.

  • mes
    mes California
    As of version 3.4, Ice for PHP uses static translation, meaning you must generate PHP code from all of your Slice files using slice2php. In other words, any Slice files that you would have loaded via Ice_loadSlice in previous versions of Ice must now be compiled statically. Furthermore, you must install the generated code somewhere that your PHP scripts can include it.