PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Apache, Lighttpd, nginx, Cherokee
Post Reply
Huschi
Posts: 32
Joined: 2003-10-13 10:14
Contact:
 

PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Post 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
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Post 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.
Huschi
Posts: 32
Joined: 2003-10-13 10:14
Contact:
 

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Post 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
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Post 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.
Huschi
Posts: 32
Joined: 2003-10-13 10:14
Contact:
 

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Post 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
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Post by oxygen »

indem du statt
'--with-mysql=shared,/usr'
folgendes verwendes:
'--with-mysql=/usr'
Huschi
Posts: 32
Joined: 2003-10-13 10:14
Contact:
 

Re: PHP 4.3.3 auf RedHat 7.3 & Apache 1.3.27

Post 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
Post Reply