Page 1 of 1

PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Posted: 2003-11-02 00:09
by Huschi
Tagchen,
heut habe ich fast den ganzen Tag verplempert um PHP von 4.1.2 auf 4.3.3 upzudaten. Ergebnis: ich hab wieder downgegraded, damit der Server wenigstens über Nacht arbeitet... :(

Aber zum Thema:
PHP 4.3.3 sollte drauf.
Sourcen gezogen, alle möglichen Devel-Packete nacheinander installiert (Warum kann configure nicht gleich alles durchtesten? Hätte mir viel Zeit gespart.), und letztendlich den Compiler laufen lassen.

Bei 'make install' sind dann mehrfach seltsame Fehler aufgetaucht:

Code: Select all

----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/src/php-4.3.3/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
(z.B. bei mysql.so und ldap.so)

PHP selbst lief im Browser als auch als cli. Aber alle Datenbank-Scripte gaben nur 'undefined function: mysql_connect()' aus.

mysql.so und ldap.so wurden dann übrigends im Verzeichnis '/usr/lib/20020429' installiert. Mit einem Eingriff im Makefile habe ich es zumindest ins '/usr/lib/php4' geschafft.
Aber mysql_connect() will immer noch nicht.

Ich bin jetzt echt ratlos.
Hat hier vieleicht noch jemand einen Tip für mich? 8O

huschi the husch

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Posted: 2003-11-02 00:58
by Joe User
Apache stoppen, PHP aus der httpd.conf entfernen, PHP komplett deinstallieren, auf einem RH-Mirror nachsehen, ob es ein passendes PHP.rpm gibt, wenn nicht, dann schnapp Dir das letzte PHP.src.rpm, entnehme dem enthaltendem Specfile die richtigen Optionen und kompiliere PHP selbst...

BTW: Das Zitierte ist keine Fehlermeldung.

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Posted: 2003-11-02 09:58
by Huschi
Joe User wrote:Apache stoppen, PHP aus der httpd.conf entfernen, PHP komplett deinstallieren, auf einem RH-Mirror nachsehen, ob es ein passendes PHP.rpm gibt, wenn nicht, dann schnapp Dir das letzte PHP.src.rpm, entnehme dem enthaltendem Specfile die richtigen Optionen und kompiliere PHP selbst...<
a) Aktuell habe ich RH 7.3 mit Apache 1.3.27 & PHP 4.1.2. Alle RH-RPMs mit höherer PHP-Version sind aber für Apache 2 compiliert.
b) Bin ich beim selbst compilieren.
Das Zitierte ist keine Fehlermeldung.
Doch. Von Programm 'libtool'. Eins der building-tools von PHP.

Um das Problem zu konkretisieren:
Das (selbst compilierte PHP) findet zur Laufzeit offensichtlich nicht die shared Module.
Mit 'make install' kam jedesmal die o.g. Fehlermeldung, bis ich mit eigenen Eingriff ins Makefile den extensions_dir von '/usr/lib/20020429' auf '/usr/lib/php4' umgebogen habe.
Ach, ja: und 'configure' wird u.a. mit dem Parameter '--with-mysql=shared,/usr' gestartet.

Hat jetzt noch jemand eine Idee, was ich tun kann?

huschi the husch

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Posted: 2003-11-02 13:47
by oxygen
Joe hat schon recht, das ist keine Fehlermeldung sondern kommt bei jeder PHP Compilation und bei vielen anderen auch. Der Fehler ist wohl das du die MySQL Extension als Modul gebaut hast, was denkbar sinnlos ist, wenn du jenes Modul nicht lädst.

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Posted: 2003-11-02 17:43
by Huschi
øxygen wrote:Der Fehler ist wohl das du die MySQL Extension als Modul gebaut hast, was denkbar sinnlos ist, wenn du jenes Modul nicht lädst.
Ok, damit kann ich was anfangen.
Ich hatte die Einstellung in der php.ini geändert:

Code: Select all

extension_dir = "/usr/lib/php4"
und 'extension=mysql.so' soll man laut doku nicht mehr reinschreiben.
(Hab ich natürlich trotzdem versucht. Brachte aber nichts.)

Wie kann ich den die MySQL-Extension fest einkompilieren?
(Es benutzen eh fast alle PHP-Scripts die Datenbank.)

huschi the husch

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Posted: 2003-11-04 21:49
by oxygen
indem du statt
'--with-mysql=shared,/usr'
folgendes verwendes:
'--with-mysql=/usr'

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Posted: 2003-11-05 08:52
by Huschi
øxygen wrote:indem du statt
'--with-mysql=shared,/usr'
folgendes verwendes:
'--with-mysql=/usr'
Jupp, damit hat es auch geklappt. (Hab ich schon vor 2 Tagen ausprobiert.)
Seltsamerweise funktionieren jetzt auch die anderen shared-modules.

huschi the husch