Kissaki / MumPI

A Webinterface for Mumble Server. Written in PHP, using Ice middleware.
http://kissaki.github.io/MumPI/
Other
104 stars 30 forks source link

mumPi says the include_path is wrong, but reports the right include_path #47

Closed Duckle29 closed 9 years ago

Duckle29 commented 9 years ago

I receive the following message on mumPi/admin and /user

The Ice.php file could not be found. Please make sure the ice php file inclusion dir is in the phps include_path (check your PHP configuration).

E.g., if you are using php-fpm and php-zeroc-ice on Ubuntu 14.04: Open the php.ini: sudo vim php5/fpm/php.ini And adjust the include path: include_path = ".:/usr/share/Ice-3.5.1/php/lib"

The current include path is: .:/usr/share/php:/usr/share/pear:/usr/share/Ice-3.5.1/php/lib

I have entered the correct secret in settings.inc.php and

$dbInterface_address    = 'Meta-e 1.0:tcp -h 127.0.0.1 -p 6502';

I tried to generate a new php file from the slice, but I can't find any mumble.ice, murmur.ice or murmur_x.x.x.ice

Checking the apache error log, this is what I see:

[Tue Feb 10 14:10:02.798812 2015] [:error] [pid 1071] [client my.ip.address] PHP Fatal error:  Uncaught exception ::Ice::ProxyParseException\n{\n    str = expected a proxy option but found `1.0' in `Meta-e 1.0:tcp -h 127.0.0.1 -p 6502'\n}\n  thrown in /var/www/html/mumPi/classes/ServerInterface.php on line 119

What am I doing wrong? :/

Duckle29 commented 9 years ago

removing the other parts of the path (That I want to have in there) makes the error go away. Now /user and /admin is blank. I tried generating a php file from your Murmur124_fixed.ice. didn't help :/

edit: include_path is now .:/usr/share/Ice-3.5.1/php/lib instead of also having /user/share/pear in it :/

Duckle29 commented 9 years ago

Success! I had missed the space between meta -e and it said meta-e in one! :D

Leaving this up if others goof as I did :)

Kissaki commented 9 years ago

So, the reported error message wrong?

Duckle29 commented 9 years ago

It would seem that it's looking for the include path to be absolutely ".:/usr/share/Ice-3.5.1/php/lib" not for it to just contain .:/usr/share/Ice-3.5.1/php/lib

In my case I'm also adding the /usr/share/pear folder to the include path, thus making it different.

".:/usr/share/php:/usr/share/pear:/usr/share/Ice-3.5.1/php/lib"
Kissaki commented 9 years ago

The stream_resolve_include_path function is used to check for the include-able Ice.php file. So the assumption you made that it would check the absolute path is not correct.

As I understand the comments here, the issue you described initially was solved by adding the missing space.

When I set the address as you wrote originally, I can also see the PHP fatal error in the log. However, the requested page never returns. So I can not see the include path error you described at all.

Did you possibly mix up the two issues? Had the inclusion path problem first and solved it in the meantime, maybe while the invalid address was in place, so you could not verify it was working.

Closing this as that’s the most likely explanation for me, can not reproduce, and can not see anything wrong in the code.