PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apache fehler bei php module laden



barton4
06.11.2004, 13:42
Wenn ich apache server mit httpd aufruf kommt die fehlermeldung:

amd:/etc/apache#httpd
Syntax error on line 222 of /usr/share/apache/conf/httpd.conf:
Cannot load /usr/share/apache/libexec/libphp4.so into server: /usr/share/apache/libexec/libphp4.so: undefined symbol: compile_file
amd:/etc/apache#

was kann das sein???

Sir Auron
06.11.2004, 16:09
Naja sind alle lib's vorhanden? (ldd)

barton4
06.11.2004, 18:05
wenn ich php kompliere kommz das:

./.libs/libphp4.a(zend_execute.o)(.text+0x5818):/root/temp/php-4.2.3/Zend/zend_execute.c:2120: undefined reference to `compile_filename'
./.libs/libphp4.a(zend_execute.o)(.text+0x5847):/root/temp/php-4.2.3/Zend/zend_execute.c:2125: undefined reference to `compile_string'
collect2: ld returned 1 exit status
make[1]: *** [php] Error 1
make[1]: Leaving directory `/root/temp/php-4.2.3'
make: *** [all-recursive] Error 1
amd:~/temp/php-4.2.3#

und das koomt wenn ich php mit apxs von apache kompliere:

/bin/sh /root/temp/php-4.2.3/libtool --silent --mode=link gcc -I. -I/root/temp/php-4.2.3/ -I/root/temp/php-4.2.3/main -I/root/temp/php-4.2.3 -I/usr/share/apache/include -I/root/temp/php-4.2.3/Zend -I/root/temp/php-4.2.3/ext/mysql/libmysql -I/root/temp/php-4.2.3/ext/xml/expat -DLINUX=22 -DUSE_HSREGEX -DUSE_EXPAT -I/root/temp/php-4.2.3/TSRM -g -O2 -prefer-pic -o libphp4.la -rpath /root/temp/php-4.2.3/libs -avoid-version stub.lo Zend/libZend.la sapi/apache/libsapi.la main/libmain.la regex/libregex.la /root/temp/php-4.2.3/ext/ctype/libctype.la /root/temp/php-4.2.3/ext/mysql/libmysql.la /root/temp/php-4.2.3/ext/pcre/libpcre.la /root/temp/php-4.2.3/ext/posix/libposix.la /root/temp/php-4.2.3/ext/session/libsession.la /root/temp/php-4.2.3/ext/standard/libstandard.la /root/temp/php-4.2.3/ext/xml/libxml.la TSRM/libtsrm.la -lcrypt -lresolv -lresolv -lm -ldl -lnsl -lcrypt -ldl
make[1]: Leaving directory `/root/temp/php-4.2.3'
Making all in pear
make[1]: Entering directory `/root/temp/php-4.2.3/pear'
make[1]: Leaving directory `/root/temp/php-4.2.3/pear'

mehr weis ich auch nüscht

greetz

Sir Auron
06.11.2004, 18:06
Du checkst einfach, ob es die Dateien, die ldd anzeigt gibt.

barton4
06.11.2004, 18:24
meinste alle die als parameter ldd haben oder, sorry hab davon kein plan

barton4
06.11.2004, 18:25
meinste alle die als parameter ldd haben oder, sorry hab davon kein plan,
hättest du eien ahnung an was das liegen könnte.

Sir Auron
06.11.2004, 19:26
So:


[fox@ott ~]$ ldd /usr/lib/apache/libphp5.so
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7ce9000)
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7cb8000)
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7bb2000)
libhistory.so.5 => /usr/lib/libhistory.so.5 (0xb7baa000)
libreadline.so.5 => /usr/lib/libreadline.so.5 (0xb7b7c000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb7b3d000)
libpanel.so.5 => /usr/lib/libpanel.so.5 (0xb7b39000)
libpam.so.0 => /lib/libpam.so.0 (0xb7b31000)
libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0xb7b2b000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7b1a000)
libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7b07000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7ae5000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7ae2000)
libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7ace000)
libcurl.so.3 => /usr/lib/libcurl.so.3 (0xb7aa0000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb79a1000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7870000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7860000)

Und dann checkst du, ob die Dateien (z.B. /usr/lib/libcurl.so.3) existieren.

barton4
06.11.2004, 22:02
so sieht die ausgabe aus
amd:/usr/share/apache/libexec#ldd libphp4.so
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x4016a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

die erste "libc.so.6" gibt es sie ist softgelinkt auf "libc-2.3.2.so"
die zweite "ld-linux.so.2" gibt es auch sie ist ebenfals softgelinkt auf "ld-2.3.2.so"

Sir Auron
06.11.2004, 22:24
Hmm. Versuch mal ldd -r

barton4
06.11.2004, 22:48
hier ist die ausgabe:

amd:/usr/share/apache/libexec#ldd -r libphp4.so
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x4016a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
undefined symbol: ap_block_alarms (./libphp4.so)
undefined symbol: ap_unblock_alarms (./libphp4.so)
undefined symbol: ap_user_id (./libphp4.so)
amd:/usr/share/apache/libexec#ldd -r libphp4.so
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x4016a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
undefined symbol: ap_block_alarms (./libphp4.so)
undefined symbol: ap_unblock_alarms (./libphp4.so)
undefined symbol: ap_user_id (./libphp4.so)
undefined symbol: ap_server_root (./libphp4.so)
undefined symbol: ap_group_id (./libphp4.so)
undefined symbol: compile_file (./libphp4.so)
undefined symbol: ap_user_name (./libphp4.so)
undefined symbol: zend_file_handle_dtor (./libphp4.so)
symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (./libphp4.so)
undefined symbol: top_module (./libphp4.so)
undefined symbol: language_scanner_globals (./libphp4.so)
undefined symbol: ap_max_requests_per_child (./libphp4.so)
undefined symbol: ap_table_get (./libphp4.so)
undefined symbol: ap_table_setn (./libphp4.so)
undefined symbol: lex_scan (./libphp4.so)
undefined symbol: ap_update_mtime (./libphp4.so)
undefined symbol: highlight_file (./libphp4.so)
undefined symbol: ap_kill_timeout (./libphp4.so)
undefined symbol: ap_uudecode (./libphp4.so)
undefined symbol: ap_setup_client_block (./libphp4.so)
undefined symbol: ap_add_cgi_vars (./libphp4.so)
undefined symbol: ap_getword (./libphp4.so)
undefined symbol: ap_getword_nulls_nc (./libphp4.so)
undefined symbol: ap_destroy_sub_req (./libphp4.so)
undefined symbol: ap_pstrdup (./libphp4.so)
undefined symbol: ap_log_error (./libphp4.so)
undefined symbol: ap_table_add (./libphp4.so)
undefined symbol: ap_sub_req_lookup_uri (./libphp4.so)
undefined symbol: ap_run_sub_req (./libphp4.so)
undefined symbol: ap_register_cleanup (./libphp4.so)
undefined symbol: ap_signal (./libphp4.so)
undefined symbol: ap_send_http_header (./libphp4.so)
undefined symbol: compile_string (./libphp4.so)
undefined symbol: compile_filename (./libphp4.so)
undefined symbol: ap_pstrndup (./libphp4.so)
undefined symbol: ap_block_alarms (./libphp4.so)
undefined symbol: ap_child_terminate (./libphp4.so)
undefined symbol: ap_set_etag (./libphp4.so)
undefined symbol: ap_rwrite (./libphp4.so)
undefined symbol: shutdown_scanner (./libphp4.so)
undefined symbol: ap_table_set (./libphp4.so)
undefined symbol: ap_get_client_block (./libphp4.so)
undefined symbol: ap_add_version_component (./libphp4.so)
undefined symbol: ap_hard_timeout (./libphp4.so)
undefined symbol: startup_scanner (./libphp4.so)
undefined symbol: ap_rflush (./libphp4.so)
undefined symbol: ap_set_last_modified (./libphp4.so)
undefined symbol: ap_reset_timeout (./libphp4.so)
undefined symbol: zend_destroy_file_handle (./libphp4.so)
undefined symbol: highlight_string (./libphp4.so)
undefined symbol: ap_unblock_alarms (./libphp4.so)
undefined symbol: ap_add_common_vars (./libphp4.so)


greetz

barton4
08.11.2004, 19:59
kann mir da keiner weiterhelfen, ich brauch den apache unbedingt mit php, hat keiner mehr ein plan was obiges überhaupt zu sageb hatt

barton4
09.11.2004, 19:13
ich hab was neues ausprbiert, ich hab jetzt eine neuere php version und den apache2, hab wieder apache2 mit DSO kompliert und dann das php modul für apache gebacken.
wenn ich jetz httpd starte kommt folgende meldung

amd:/usr/apache/bin#./httpd
Syntax error on line 231 of /usr/apache/conf/httpd.conf:
Cannot load /usr/apache/modules/libphp4.so into server: /usr/apache/modules/libphp4.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
amd:/usr/apache/bin#cd ../modules
amd:/usr/apache/modules#ldd *.so
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x40199000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)