PHP neu kompilieren

Apache, Lighttpd, nginx, Cherokee
merlor
Posts: 4
Joined: 2006-09-19 14:05

PHP neu kompilieren

Post by merlor »

Hallo,

ich verusche mich momentan ein wenig mit Linux und Webserverkonfiguration auseinanderzusetzen.

Dazu habe ich auf einem 2ten Rechner Debian Sarge installert und nach folgendem HowTo Apache2+PHP5/FastCGI installiert (allerdings mit PHP 5.1.6), was auch wunderbar funktioniert hat.

Nun wollte ich versuchen, PHP mit verschiedenen Optionen zu kompilieren und habe daher nochmal ./configure mit folgenden Optionen aufgerufen:

Code: Select all

./configure --enable-memory-limit --enable-force-cgi-redirect --enable-track-vars --with-pcre-regex --with-mysql --with-mysqli --without sqlite --without-mm --enable-fastcgi --enable-mbstring --enable-bcmath --prefix=/home/php5/php5gd --with-gd --with-png-dir=/usr/lib/ --with-jpeg-dir=/usr/lib/ --with-freetype-dir=/usr/lib/ --with-zlib-dir=/usr/lib/ --with-gettext --with-mcrypt --with-iconv --with-mbstring=all --with-xml --with-dom --enable-sockets --with-xpm-dir=/usr/lib/
Dies läuft auch für mich ohne ersichtliche Fehler durch.

make und make install laufen auch ohne Fehlermeldung durch und die Dateien werden auch im Verzeichniss erstellt. Wenn ich nun allerdings ./php -v aufrufe, wird mir als BuiltDate das der ersten Kompilierung angegeben.

Wenn ich noch ein "> php5gdlog" anhänge, bekomme ich in der Konsole zwei Fehlermeldungen

Code: Select all

configure: warning: You will need re2c .9.11 or later if you want to regenerate PHP parsers.
configure: warning: flex versions supported for regeneration of the Zend/PHP parsers: 2.5.4 (found: ).
Wenn ich beide mit apt-get install installieren will, bekomm ich die Ausgabe, dass bereits die neusten Versionen installiert sind.

Mit google und der Forensuche habe ich leider nix gefunden, was mit weiterhelfen konnte. Evtl kann mir jemand einen Tipp geben?

MfG,
Merlor

Die Datei php5gdlog sieht folgendermaßen aus:
http://rapidshare.de/files/33667401/php5gdlog.html
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: PHP neu kompilieren

Post by sledge0303 »

Wenn ich nun allerdings ./php -v aufrufe, wird mir als BuiltDate das der ersten Kompilierung angegeben

Code: Select all

./path/to/your/NEW/php-binary/php -v
merlor
Posts: 4
Joined: 2006-09-19 14:05

Re: PHP neu kompilieren

Post by merlor »

Hallo sledge0303,

das habe ich natürlich, habe es nur oben vergessen explizit hinzuschreiben sry.

Sowohl /home/php5/php5/bin/php -v
als auch /home/php5/php5gd/bin/php -v

geben das selbe BuiltDate aus :(


Edit:
rm ./configure



./buildconf --force

scheint geholfen zu haben. Nun bekomme ich das richtige Datum angezeigt.
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: PHP neu kompilieren

Post by sledge0303 »

Irgendwie ist das nicht nachvollziehbar. Schau mal, ich habe auf meinem Hostserver insgesamt 10 Kunden drauf, jeder hat seine eigene PHP-Binary, wenn ich Pfad+php -v abrufe, erscheint auch die entsprechende Versionsangabe mit allem drum und drann...

Hast du vorher schon ein PHP-Binary in dem besagten Verzeichnis angelegt?
Stimmt das Prefix/Zielverzeichnis dann bei der letzten Installation?
Mache doch mal was anderes, benenne das PHP Verzeichnis um und erstelle mit mkdir ein neues. Mit diesem Prefix erstellst du dann das PHP-Binary und versuchst erneut php -v
merlor
Posts: 4
Joined: 2006-09-19 14:05

Re: PHP neu kompilieren

Post by merlor »

sledge0303 wrote:Irgendwie ist das nicht nachvollziehbar. Schau mal, ich habe auf meinem Hostserver insgesamt 10 Kunden drauf, jeder hat seine eigene PHP-Binary, wenn ich Pfad+php -v abrufe, erscheint auch die entsprechende Versionsangabe mit allem drum und drann...

Hast du vorher schon ein PHP-Binary in dem besagten Verzeichnis angelegt?
Stimmt das Prefix/Zielverzeichnis dann bei der letzten Installation?
Mache doch mal was anderes, benenne das PHP Verzeichnis um und erstelle mit mkdir ein neues. Mit diesem Prefix erstellst du dann das PHP-Binary und versuchst erneut php -v
Für mich ebenfalls nicht ganz nachvollziehbar, wobei es mir nun so scheint, als leige dies eher an meinem mangelndem Wissen.

Ich habe nun noch ein drittes Verzeichniss angelegt und PHP dorthin kompiliert und wieder das BuiltDate der ersten kompilation(?) angezeigt bekommen. Wenn ich allerdings diese Binary verwende, bekomme ich bei einer phpinfo() Ausgabe, die neu einkompilierten Funktionen angezeigt.

Mein Fehler dürfte demnach primär darin gelegen haben, dass ich angenommen habe, dass sich das angezeigte BuiltDate ebenfalls verändern würde.

Nochmals danke für die Mühe sich alles durchzulesen.

MfG,
Merlor
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: PHP neu kompilieren

Post by sledge0303 »

Merlor wrote: Für mich ebenfalls nicht ganz nachvollziehbar, wobei es mir nun so scheint, als leige dies eher an meinem mangelndem Wissen.

Ich habe nun noch ein drittes Verzeichniss angelegt und PHP dorthin kompiliert und wieder das BuiltDate der ersten kompilation(?) angezeigt bekommen. Wenn ich allerdings diese Binary verwende, bekomme ich bei einer phpinfo() Ausgabe, die neu einkompilierten Funktionen angezeigt.

Mein Fehler dürfte demnach primär darin gelegen haben, dass ich angenommen habe, dass sich das angezeigte BuiltDate ebenfalls verändern würde.
Mangelndes Wissen ist nie gut, gerade wenn man einen Rootserver betreibt...
Wie gesagt, bei der Abfrage durch php -v wird das Datum der Erstellung und dessen Version angezeigt.
Beispiele:

Code: Select all

 /home/userxyz/php/bin/php -v
PHP 5.1.6 (cgi-fcgi) (built: Aug 30 2006 23:01:52)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

Code: Select all

/home/anotheruser/php/bin/php -v
PHP 4.4.4 (cgi-fcgi) (built: Aug 30 2006 19:06:32)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
PS: Lasse mal den Punkt am Anfang weg!
merlor
Posts: 4
Joined: 2006-09-19 14:05

Re: PHP neu kompilieren

Post by merlor »

sledge0303 wrote: Mangelndes Wissen ist nie gut, gerade wenn man einen Rootserver betreibt...
Es ist nur ein loakerl Rechner, wie im Anfangsposting bereits erwähnt. Ich habe lediglich sharedHosting Space, wollte mich allerdings mal mit dem Thema auseinandersetzen, da es mich interessiert.
sledge0303 wrote: Wie gesagt, bei der Abfrage durch php -v wird das Datum der Erstellung und dessen Version angezeigt.
Beispiele:

Code: Select all

 /home/userxyz/php/bin/php -v
PHP 5.1.6 (cgi-fcgi) (built: Aug 30 2006 23:01:52)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

Code: Select all

/home/anotheruser/php/bin/php -v
PHP 4.4.4 (cgi-fcgi) (built: Aug 30 2006 19:06:32)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
PS: Lasse mal den Punkt am Anfang weg!
Ja so sieht es bei mir auch aus, allerdings für alle kompilierten Versionen zeigt er mir das BuiltDate der aller ersten an, was mich verwundert und zu meiner obigen annahme geführt hat.
Ich nutze Linux auch schon etwas länger, so das gewisse Grundkentnisse schon vorhanden sind, allerdings hatte ich mich nie näher mit Webservern und deren Konfiguration etc auseinandergesetzt. Auch wenn ich selbst keinen Rootserver am Netz betreibe, dachte ich wär ich hier im Forum mit meiner Frage richtig, da es im Prinzip ja doch um das selbe Thema geht (hoffe ich zumindest ;) ) und man hier kompetente Antworten erwarten kann (zumindest kam mir dies beim durchlesen so vor). So nu aber genug geschleimt ;) und nochmal vielen Dank für die Antworten.

MfG,
Merlor
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: PHP neu kompilieren

Post by sledge0303 »

nochmal vielen Dank für die Antworten.
Gern geschehen ;)