Suse 9.2 - PHP 5.5.X installieren

facebraker

New Member
Guten Morgen,

ich habe die grauenvolle Aufgabe auf einen alten Server mit Suse Linux 9.2 PHP 5.5.X zu installieren.
Der Kollege braucht das PHP, aber der Server selber darf nicht upgedatet werden.
Meine erste Idee war ja den Server sichern und dann neu hochziehen und alles ist in Butter.
Geht leider absolut nicht

Ich weiß nun nicht wie ich anfangen kann, RPMs gibt es nicht ... wie gehe ich da vor?

Danke

Gruß Alex
 
Na hoffentlich rennt die Kiste nur local.
Wie schauts aus mit selbst kompilieren?

Gruß Sven
 
Hallo Sven,

ja die rennt nur lokal, ich habe auch gesagt die Installation auf 9.2 dauert länger als die Maschine neu hochzuziehen, aber du weisst ja das läufen noch Sachen an die sich keiner traut.

Komplilieren vom Prinzip schon öfters gemacht, aber ich scheue mich for dem großen PHP. Stelle mir das schwierig vor mit der MySQL Unterstützung.

Ich würde also die Quellcode von http://www.php.net/downloads.php herunterladen und mit

dem Dreisatz ./configure ; make; make install loslegen?

Danke!

Gruß Alex
 
Wenn ich mich recht erinnere, musst du die MySQL-Unterstüzung noch manuell hinzufügen.
Guck dir mal die readme oder was auch immer da bei ist an, ich fands damals (noch keine 2 Jahre her) ganz gut erklärt.
 
Hi ich habe mit Mysql konfiguriert:

./configure --with-mysql=yes

Lief sauber durch!

Dann habe ich ein make ausgeführt nach einigen Minuten kam folgender Fehler:

/PHP_Install/php-5.5.7/ext/dom/document.c:2039: undefined reference to `xmlSchemaSetValidOptions'

Google-Suche brachte bisher keinen erfolg :-(

Hat jemand eine Idee?

Gruß Alex
 
Ja, überzeugender auf ein neues Betriebssystem drängen ;)
Die Bibliotheken werden zu alt für neue PHP-Versionen sein, deshalb wirst du vermutlich sobald du diesen Fehler behoben hast, den nächsten erhalten.

Man *kann* jetzt überlegen, die notwendigen Bibliotheken als Source zu laden (das reicht aber nicht bei allen) und im Configure dann entsprechend auf diese Lib-Verzeichnisse zu verweisen. Wichtig dabei ist, dass PHP dann statisch gebaut wird.
Es *kann* funktionieren, es muss aber nicht zwingend. Am Ende hast du vermutlich ein System, bei dem 70% der Software selbst kompiliert sind und du direkt Gentoo installieren könntest :P

Ist es denn zwingend notwendig, dass...
* PHP auf der Selben Maschine läuft? Notfalls eine weitere Maschine danebenstellen resp. irgendwo virtualisieren...
* Es unbedingt PHP 5.5 sein muss? PHP 5.3 könnte vielleicht kompilierbar sein und wird auch noch supported.
 
Hallo Lord Gurke,

ich bin voll und ganz deiner Meinung, war auch meine erste Aussage, neues OS.
Aber leider entscheiden nie die Leute die Ahnung haben.
Ich habe es ihm auch angekündigt das es hart wird.

Ist halt das Problem der Server steht in einer anderen Filiale und ich komme nur remote darauf, da ist eine Neuinstallation auch nicht so einfach aber IMHO noch einfacher als 1000 Bibliotheken kompilieren ;-)
Ich habe es ihm auch angekündigt ...
Wir haben uns darauf geeinigt, dass ich heute/morgen es per Update probiere, klappt es nicht, mache ich eine VM fertig und schicke sie hin und dann ziehen wir sukzessive auf den neuen virtuellen Server.

Ich probiere jetzt noch 5.3, aber du hast schon recht das mit dem Bibliotheken konnte ich mir denken der Fehler zeigte auf libxml2 ...

Gruß Alex
 
Weiter geht es mit PHP 5.3.28,

hier bekomme ich bei ./configure --with-mysql=yes
diesen Fehler:

checking for specified location of the MySQL UNIX socket... no
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!


Bei PHP 5.5 lief der Spaß :-(

Hilfe :-(
 
Selbst mit ./configure with-libdir=/usr/lib64/mysql --with-mysql

Die Libs liegen unter /usr/lib64/mysql ... kommt der gleiche Fehler :-(
 
Mit


./configure --with-mysql=/usr/bin/ --with-libdir=lib64

Funktionierte das configure,
beim make kam jetzt dieser fehler:

In file included from Zend/zend_language_scanner.l:37:
Zend/zend_language_parser.h:40:1: missing binary operator before token "extern"
make: *** [Zend/zend_language_scanner.lo] Error 1


Man man man

Danke für die Hilfe...
 
◦autoconf: 2.13+ (für PHP < 5.4.0), 2.59+ (für PHP >= 5.4.0)
◦automake: 1.4+
◦libtool: 1.4.x+ (ausgenommen 1.4.2)
◦re2c: Version 0.13.4 oder aktueller
◦flex: Version 2.5.4 (für PHP <= 5.2)
◦bison: Version 1.28 (empfohlen), 1.35, oder 1.75
Passen bei Dir die Versionen der Tools zum Kompilieren?
 
Hallo TerraX wie bekomme ich das raus?

Hier die versionen:

autoconf -V
autoconf (GNU Autoconf) 2.59
Written by David J. MacKenzie and Akim Demaille.

automake --version
automake (GNU automake) 1.9.1
Written by Tom Tromey <tromey@redhat.com>.

libtool --version
ltmain.sh (GNU libtool) 1.5.8 (1.1220.2.118 2004/08/07 12:24:38)



Aber re2c , flex und bison habe ich nicht drauf, fehlen die mir dann?

re2c --version
-bash: re2c: command not found

flex
-bash: flex: command not found


Danke!
 
Last edited by a moderator:
Hi, ich merke gerade meinen Fehler ich muss
die Tools noch installieren.

Bison habe ich schon nachinstalliert re2c und flex sind morgen dran.
Der Kollege in der Filiale hatte noch einen Termin, darum geht es morgen weiter.

Danke!
 
für's selbst bauen ist es mehr oder weniger erst mal egal, ob die "fertigen Libs" da liegen - du brauchst auf jeden Fall noch zusätzlich die devel- bzw source-Pakete von mysql und Konsorten...
 
Hallo und Guten Morgen,

ich habe gestern bzw. heute bison,flex nachinstalliert.
Bei PHP 5.3.X kam immer noch der Fehler

Zend/zend_language_parser.h:40:1: missing binary operator before token "extern"

Ich habe dann, der Server ist sowieso veraltet mit PHP 5.2.X weiter gemacht, ./configre lief durch, make auch:)

Jetzt habe ich eine ganz dumme Frage, wie binde ich das PHP5 in den Apache ein?

Bisher habe ich auf Debian Derivaten alles per aptitude installiert und es lief :-(

Gruß Alex
 
So, ich glaube ich bin ein wenig weiter gekommen

Ich habe das ./configure nun mit den Optionen ausgeführt:

./configure --with-apxs2=/usr/sbin/apxs2 --with-mysql=/usr/bin/ --with-libdir=lib64


./configre und make laufen durch, bei make install kommt folgender Fehler:

Installing PHP SAPI module: apache2handler
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/apache2/build/libtool' libphp5.la /usr/lib64/apache2
/usr/share/apache2/build/libtool --mode=install cp libphp5.la /usr/lib64/apache2/
cp .libs/libphp5.lai /usr/lib64/apache2/libphp5.la
cp .libs/libphp5.a /usr/lib64/apache2/libphp5.a
ranlib /usr/lib64/apache2/libphp5.a
chmod 644 /usr/lib64/apache2/libphp5.a
libtool: install: warning: remember to run `libtool --finish /PHP_Install/php-5.2.10/libs'
Warning! dlname not found in /usr/lib64/apache2/libphp5.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/lib64/apache2/libphp5.so
chmod: cannot access `/usr/lib64/apache2/libphp5.so': No such file or directory
apxs:Error: Command failed with rc=65536
.
make: *** [install-sapi] Error 1

libphp5.a und libphp5.la sind in dem Verzeichnis /usr/lib64/apache2 vorhanden :-(

Bin echt ratlos

Hat jemand vielleicht einen Tipp für mich?
 
gundlegend andere Frage: Der Apache muss mit auf dem System drauf laufen oder kann auf den Dienst, für den der Apache da hin soll nicht von einem 2. System auf die historisch-wertvolle 9.2-Installation zugegriffen werden?
 
Doch schon,

aber dann würde ich einen echten Cut machen und den Server virtuell aufsetzen und händisch step by step migrieren, aber uns drückt der Zeitfaktor.
Bin ein wenig in der Zwickmühle, der Kollege/Entscheider denkt, das fixen geht schneller, meine Meinung ist, neu installieren und portieren geht schneller, z.Zt. vergeude ich wertvolle zeit mit fixen und so wie es aussieht muss ich das Handtuch werfen weil ich mit fixen nicht weiter komme und installiere sowieso neu.

Gruß Alex
 
Lass doch das PHP einfach als FastCGI statt als modPHP laufen. Dann hast du wenigstens das PHP vom Apache entkoppelt.
 
Back
Top