OVH Community, your new community space.

ICE-PHP Erweiterung für Plesk bzw. PHP5


oVi
10.06.09, 02:38
Ok, ich hab es nun hinbekommen.
Nachdem ich die IcePHP.so nun erfolgreich neu kompilieren konnte und diese dann mit der aus dem Repo austauschen konnte, funktioniert das Modul nun.

Ich danke euch für eure Hilfe.

kro
09.06.09, 16:48
oVi wrote:
> ConnectionI.cpp:29:19: Fehler: bzlib.h: Datei oder Verzeichnis nicht gefunden


libbz2-dev installieren.
--
Felix
OVH Team

oVi
09.06.09, 16:29
mmh... zu früh gefreut... nach ca. einer Milliarde Zeilen kam dann:
Code:
...
c++ -c -I.. -I../../include -DICE_API_EXPORTS   -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g  ConnectRequestHandler.cpp
c++ -c -I.. -I../../include -DICE_API_EXPORTS   -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g  ConnectionFactory.cpp
c++ -c -I.. -I../../include -DICE_API_EXPORTS   -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g  ConnectionI.cpp
ConnectionI.cpp:29:19: Fehler: bzlib.h: Datei oder Verzeichnis nicht gefunden
ConnectionI.cpp: In function »std::string getBZ2Error(int)«:
ConnectionI.cpp:2046: Fehler: »BZ_RUN_OK« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2050: Fehler: »BZ_FLUSH_OK« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2054: Fehler: »BZ_FINISH_OK« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2058: Fehler: »BZ_STREAM_END« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2062: Fehler: »BZ_CONFIG_ERROR« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2066: Fehler: »BZ_SEQUENCE_ERROR« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2070: Fehler: »BZ_PARAM_ERROR« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2074: Fehler: »BZ_MEM_ERROR« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2078: Fehler: »BZ_DATA_ERROR« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2082: Fehler: »BZ_DATA_ERROR_MAGIC« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2086: Fehler: »BZ_IO_ERROR« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2090: Fehler: »BZ_UNEXPECTED_EOF« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2094: Fehler: »BZ_OUTBUFF_FULL« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp: In member function »void Ice::ConnectionI::doCompress(IceInternal::BasicStream&, IceInternal::BasicStream&)«:
ConnectionI.cpp:2119: Fehler: »BZ2_bzBuffToBuffCompress« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2120: Fehler: »BZ_OK« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp: In member function »void Ice::ConnectionI::doUncompress(IceInternal::BasicStream&, IceInternal::BasicStream&)«:
ConnectionI.cpp:2177: Fehler: »BZ2_bzBuffToBuffDecompress« wurde in diesem Gültigkeitsbereich nicht definiert
ConnectionI.cpp:2178: Fehler: »BZ_OK« wurde in diesem Gültigkeitsbereich nicht definiert
make[3]: *** [ConnectionI.o] Fehler 1
make[3]: Leaving directory `/root/Ice-3.3.1/cpp/src/Ice'
make[2]: *** [all] Fehler 1
make[2]: Leaving directory `/root/Ice-3.3.1/cpp/src'
make[1]: *** [all] Fehler 1
make[1]: Leaving directory `/root/Ice-3.3.1/cpp'
make: *** [all] Fehler 1
[root@sl35124 Ice-3.3.1]#

bäääh... was nu los?

oVi
09.06.09, 16:19
Zitat Zitat von Flaggi
Hi

[...]
make[3]: c++: Kommando nicht gefunden
make[3]: *** [ArgVector.o] Fehler 127
[...]

Das deutet ja eigentlich darauf hin das der Compiler nicht installiert ist.

oder sehe ich das falsch ?
Das dachte ich mir auch irgendwie, aber....
Code:
[root@sl35124 ~]# yum list gcc-c++
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * epel: www.mirrorservice.org
 * extras: ftp.halifax.rwth-aachen.de
 * updates: ftp.plusline.de
 * base: distrib-coffee.ipsl.jussieu.fr
 * addons: ftp.halifax.rwth-aachen.de
 * atomic: www.atomicorp.com
Available Packages
gcc-c++.i386                          4.1.2-44.el5                          base
[root@sl35124 ~]#
und

Code:
[root@sl35124 ~]# yum install gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * epel: www.mirrorservice.org
 * extras: ftp.halifax.rwth-aachen.de
 * updates: ftp.plusline.de
 * base: distrib-coffee.ipsl.jussieu.fr
 * addons: ftp.halifax.rwth-aachen.de
 * atomic: www.atomicorp.com
Setting up Install Process
Parsing package install arguments
Package gcc-4.1.2-44.el5.i386 already installed and latest version
Nothing to do
[root@sl35124 ~]#
EDIT: Denkfehler von mir, ich hab ihn nun nachinstalliert und und mache gerade mal nen make, mal sehen ob es nun geht.
Ich meld mich... erstmal vielen Dank

Flaggi
09.06.09, 16:05
Hi

[...]
make[3]: c++: Kommando nicht gefunden
make[3]: *** [ArgVector.o] Fehler 127
[...]

Das deutet ja eigentlich darauf hin das der Compiler nicht installiert ist.

oder sehe ich das falsch ?

oVi
09.06.09, 12:36
Zitat Zitat von mathias
Hallo,

die "korrekte" php.ini sollte tatsächlich hier liegen:
/usr/local/psa/admin/conf/php.ini

Wurde das bei der Installation berücksichtigt?

Mathias
Ja, das hab ich auch berücksichtigt.
In der phpinfo sieht man auch das er auf die ice.ini zugreift und diese lädt.
Soweit sollte das denke ich mal richtig installiert sein.

Ich schätze wirklich das es ein Versionskonflikt o.ä. ist.
(was mir die php-m auflistung sicher auch mit dem warning sagen will)

oVi
09.06.09, 12:32
Erstmal vielen Dank für die Hilfe.
Ich kann zwar einiges unter Linux, aber an manchen stellen komme ich wirklich nicht weiter.
Könntet Ihr mir evtl. die Befehle nennen um die benötigten module neu zu kompilieren ?
(Ich weiß zwar das es mit make gemacht wird, aber was ich nun genau machen muss, öhm, k.a.)

Ich schätze auch mal, das ich wirklich das IcePHP neu kompilieren muss, nur wie :/

Hier ist noch ein Auszug aus der Installationsanleitung, wenn es Probleme mit der normalen installation gibt:
Code:
Troubleshooting

If you encounter problems, check your apache log.

If it tells you the php extension was compiled on an older api, you have to compile the IcePHP.so from source.

Download Ice-3.3.0.tar.gz from ZeroCs downloads page, untar, cd, cd into php, as written in the INSTALL file export ICE_HOME environment variable pointing to your ice install dir. If you installed it with an rpm, type

export ICE_HOME=/usr

then make, and in the lib folder, there'll be your IcePHP.so file.
Soweit ist ja alles klar...
Ich habe die .tar.gz runtergeladen und mit tar zxvf Ice-3.3.1.tar.gz
entpackt. Aber wenn ich nun in den Ordner gehe export ICE_HOME=/usr und dann make oder make install mache, rummst er weg.

Code:
[root@sl35124 Ice-3.3.1]# make
making all in cpp
make[1]: Entering directory `/root/Ice-3.3.1/cpp'
making all in config
make[2]: Entering directory `/root/Ice-3.3.1/cpp/config'
echo ""

make[2]: Leaving directory `/root/Ice-3.3.1/cpp/config'
making all in src
make[2]: Entering directory `/root/Ice-3.3.1/cpp/src'
making all in IceUtil
make[3]: Entering directory `/root/Ice-3.3.1/cpp/src/IceUtil'
c++ -c -I../../include -DICE_UTIL_API_EXPORTS -I..  -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g  ArgVector.cpp
make[3]: c++: Kommando nicht gefunden
make[3]: *** [ArgVector.o] Fehler 127
make[3]: Leaving directory `/root/Ice-3.3.1/cpp/src/IceUtil'
make[2]: *** [all] Fehler 1
make[2]: Leaving directory `/root/Ice-3.3.1/cpp/src'
make[1]: *** [all] Fehler 1
make[1]: Leaving directory `/root/Ice-3.3.1/cpp'
make: *** [all] Fehler 1
[root@sl35124 Ice-3.3.1]#
Hier sind noch die Quellen zu Ice:
http://mumble.sourceforge.net/ICE
http://www.zeroc.com/download.html

Öhm...ja

Ich danke euch schonmal im Vorraus.

whyte
09.06.09, 11:36
Ich vermute eher, das ist wie mit dem php eccelerator, da muss jedes mal, wenn die PHP Version geändert wurde, auch der eccelerator neu kompiliert werden (mit phpize).

Da hier auch 2 verschiedene Versionen stehen:
Code:
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=
und die des PHP neuer ist, muss wahrscheinlich nur das Modul neu kompiliert werden.

mathias
09.06.09, 11:30
Hallo,

die "korrekte" php.ini sollte tatsächlich hier liegen:
/usr/local/psa/admin/conf/php.ini

Wurde das bei der Installation berücksichtigt?

Mathias

oVi
09.06.09, 03:32
Hallo,
ich habe versucht die Zeroc-ICE Erweiterung für den Apacheserver zu installieren.

Hier erstmal ein Paar technische Daten:
PHPinfo

Relevante ./etc/php.ini Einträge:
Code:
extension=IcePHP.so
ice.slice=./usr/lib/Murmur.ice
Relevante ./etc/php.d/ice.ini Einträge:
Code:
extension=IcePHP.so
ice.slice=./usr/lib/Murmur.ice
Der Server läuft aktuell mit psa v8.6.0_build86080930.08 os_CentOS 5
Also Plesk 8.6.0 auf CentOS 5...

Die Murmur Schnittstellendefinition bzw. Parser ist auch an der passenden Stelle und besitzt "hoffe ich mal" die richtigen Rechte:
Code:
Path: 
-rw-r--r--   1 root root       29917  9. Jun 03:17 Murmur.ice
Auch Ice ist richtig installiert:
Code:
Package ice-ruby-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-python-devel-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-libs-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-servers-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-java-3.3.1-1.rhel5.noarch already installed and latest version
Package ice-python-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-3.3.1-1.rhel5.noarch already installed and latest version
Package ice-ruby-devel-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-utils-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-php-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-java-devel-3.3.1-1.rhel5.i386 already installed and latest version
Package ice-c++-devel-3.3.1-1.rhel5.i386 already installed and latest version
Package icewm-1.2.35-1.el5.i386 already installed and latest version
Package icewm-gnome-1.2.35-1.el5.i386 already installed and latest version
Package icewm-xdgmenu-1.2.35-1.el5.i386 already installed and latest version
Ich habe auch nochmal nachgeschaut ob die IcePHP.so an der richtigen Stelle ist, und wie erwartet ist diese auch da...

nur wenn ich den Dienst bzw. Server neustarte, ist einfach keine Ice-Erweiterung auf dem Server aktiv (in dem Link oben zu sehen...)

Allerdings ist etwas komisch bzw. für mich nicht ganz logisch...
In der ./usr/local/psa/admin/conf/php.ini existiert folgender Eintrag:
Code:
extension_dir = /usr/lib/php4
Und auch genau in diesem Pfad liegt die IcePHP.so
Nur in der ./etc/php.ini NICHT

Auch wenn ich ./etc/init.d/httpd restart ausführe, erscheinen keine Fehlermeldungen.

Wenn ich php -m ausführe erscheint folgendes:
Code:
PHP Warning:  PHP Startup: ice: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: radius: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
[PHP Modules]
bcmath
bz2
calendar
ctype
curl
date
dbase
dom
exif
filter
ftp
gd
gettext
gmp
hash
iconv
imap
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]
Damit kann ich aber nix anfangen

Ich weiß nun erstmal nicht weiter und hoffe das mir einer da helfen kann.

MfG oVi