Toon posts:

Probleem met PHP/Apache

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als ik een make doe met apache na ./configure --with-prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --with-perl=/usr/bin/perl --htdocsdir=/home/html

...krijg ik de volgende fout:

I/home/php -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED `./apaci` buildmark.c
gcc -DLINUX=22 -I/home/php -I/home/php/main -I/home/php/main -I/home/php/Zend -I/home/php/Zend -I/home/php/TSRM -I/home/php/TSRM -I/home/php -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED `./apaci` \
-o httpd buildmark.o modules.o modules/standard/libstandard.a modules/php4/libphp4.a main/libmain.a ./os/unix/libos.a ap/libap.a lib/expat-lite/libexpat.a -Wl,-rpath,/usr/local/mysql/lib -rdynamic -L/usr/local/mysql/lib -Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4 -lpam -ldl -lmysqlclient -lcrypt -lresolv -lm -ldl -lnsl -lresolv -lm -lcrypt
/usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function `my_uncompress':
my_compress.o(.text+0x9a): undefined reference to `uncompress'
/usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function `my_compress_alloc':
my_compress.o(.text+0x12a): undefined reference to `compress'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/home/apache_1.3.20/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/home/apache_1.3.20'
make: *** [build] Error 2

Ik heb de lib dir van mysql al toegevoegd aan ld.so.conf en daarna gelijk een ldconfig

Iemand een oplossing ?

Verwijderd

Er is nog niets wat ik niet snap... hoezo zoekt PHP naar MySQL terwijl ik in je configure parameters helemaal nix van mysql zie?

Probeer eens een "make clean" en daarna opnieuw een ./configure blablabla... anders gooi je php source tree eens even weg en download een nieuwe o.i.d.

Verwijderd

Topicstarter
PHP is al gecompiled en installed, nu ben ik bezig met eigenlijk een van de laatste stappen het configgen en compileren van apache.

dus dit zegt hij na de 'make' voor apache (1.3.20).. dus na:
./configure --with-prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --with-perl=/usr/bin/perl --htdocsdir=/home/html

--with-mysql=/usr/local/mysql levert een error op in de config van apache.

Verwijderd

Aha..

OK.. probeer eens alleen --with-mysql of download een nieuwere MySQL (niet te nieuw, dus geen beta, maar gewoon stable). Dat probleem heb ik volgens mij ook al eens gehad met een wat outdated MySQL. Als je niet tegelijk met zowel Perl als PHP toegang hoeft te hebben tot MySQL, dan kun je ook de PHP built-in MySQL functies gebruiken.

Verwijderd

Topicstarter
MySQL heb is ook al goed geinstalleerd in /usr/local/mysql dit gaat ook goed met de php - configure - make - make install.

Enige waar het nu mis gaat is bij apache, ik heb overigens voor zowel als apache als voor php een nieuwe source gebruikt.

Die file /usr/local/mysql/lib/libmysqlclient.a staat overigens wel op die aangewezen plaats.

Ik heb verder ook geen schikkende oplossing gevonden op google danwel op GoT

  • havana
  • Registratie: Augustus 1999
  • Laatst online: 14-08 10:53
Move > NOS

DIT IS MIJN WEBSITE


Verwijderd

<mysqlsourcedir>/libmysql/.libs

als je die files installed in /usr/lib en ldconfig runt zal die het daarna wel doen

  • a casema user
  • Registratie: Januari 2000
  • Laatst online: 14-08 13:49
als je de search had gebruikt had je een ander topic (met antwoord) gevonden. Ik had dit ooit een keertje.
Maar het staat toch echt letterlijk in INSTALL bestandjes van PHP
Note 3! If you are on Linux and have installed shared libraries, make
sure the location of these shared libraries are listed in your
/etc/ld.so.conf file. For example, if you have:

/usr/local/lib/mysql/libmysqlclient.so

Make sure /etc/ld.so.conf contains:

/usr/local/lib/mysql

Then run ldconfig.

Taaaa taa taa taaaa taa taa ta taaataaaaa.


  • Grum
  • Registratie: Juni 2001
  • Niet online
waarom compile je PHP IN je apache ? .. en niet gewoon los als dynamic module ?

Voordelen:
1/ nihil downtime bij upgraden
2/ enorm simpel up/downgraden
3/ niet EN apache EN php overnieuw compilen bij up/downgrade
4/ minder kans op fouten

Nadelen:
1/ ietsje slomer :? (weet ik niet zeker .. maar der zal vast wel EEN nadeel aan zitten :P )

Apache:
./configure --enable-module=so [rest]
make
make install

php:
./configure --with-apxs=/path/to/apache/bin/apxs [rest]
make
make install

php.ini aanpassen
apache starten/restarten

lijkt me toch echt simpler :P

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

I/home/php -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED `./apaci` buildmark.c
gcc -DLINUX=22 -I/home/php -I/home/php/main -I/home/php/main -I/home/php/Zend -I/home/php/Zend -I/home/php/TSRM -I/home/php/TSRM -I/home/php -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED `./apaci` \
-o httpd buildmark.o modules.o modules/standard/libstandard.a modules/php4/libphp4.a main/libmain.a ./os/unix/libos.a ap/libap.a lib/expat-lite/libexpat.a -Wl,-rpath,/usr/local/mysql/lib -rdynamic -L/usr/local/mysql/lib -Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4 -lpam -ldl -lmysqlclient -lcrypt -lresolv -lm -ldl -lnsl -lresolv -lm -lcrypt
/usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function `my_uncompress':
my_compress.o(.text+0x9a): undefined reference to `uncompress'
/usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function `my_compress_alloc':
my_compress.o(.text+0x12a): undefined reference to `compress'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/home/apache_1.3.20/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/home/apache_1.3.20'
make: *** [build] Error 2

Ik heb de lib dir van mysql al toegevoegd aan ld.so.conf en daarna gelijk een ldconfig
ldconfig zal je nooit helpen bij compilen, alleen de runtime linker vind dat interessant. ld kijkt daar niet eens naar.
De 'oplossing' : open src/Makefile uit je Apache dir, zoek de regel LIBS1 en voeg aan het eind -lz toe.

Dan nog een keer make draaien en de compile zou moeten werken.

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

[quote
als je de search had gebruikt had je een ander topic (met antwoord) gevonden. Ik had dit ooit een keertje.
Maar het staat toch echt letterlijk in INSTALL bestandjes van PHP
[/quote]

Dat geld alleen als ie je libs niet kan vinden tijdens het starten. In dit geval zijn er unresolved symbols tijdens het linken. Compleet ander verhaal, en bovenstaande oplossing werkt dus ook niet.

  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 16:16
Ik heb PHP als een module geconfigureerd in apache, samen met support voor sybase & openssh en kreeg alleen een probleem dat hij een bestand van openssh niet kon vinden, terwijl hij er niet stond. Toen ik het bestand gecopieerd had werkte het goed.

Apache & PHP werken nu goed bij mij (school dan). Alleen het automatisch opstarten moet ik nog uitzoeken. En ik moet apache nog goed configureren.

let the past be the past.

Pagina: 1