[HowTo] PHP5 installieren

  • Thread starter Thread starter server4downs
  • Start date Start date
bin leider blutiger anfänger

habe von version 4 nach 5.1.6 (der neuesten halt)

die alte habe ich nicht gelöscht!

und was bedeutet rpm?was ist das? und wie mache ich da süber yast? im yast selbst kenne ich mich noch nicht all so gut aus!
 
Mal ein Zitat aus dem HowTo
Bei SuSe müssen Sie in der Datei /etc/sysconfig/apache2 „php4“ mit „php5“ in der
Zeile „APACHE_MODULES=“ bei einem Update abändern.

Du muesstest halt php5 wieder durch php4 ersetzen.
 
das steht bei mir dort
habe allerdings nichts dran geändert!

APACHE_MODULES="access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php4 php5 rewrite"
## Type: string
## Default: ""
## ServiceRestart: apache2


so an sich hat alles funktioniert! mit make und make install aber als ich das mit dem apache ändern sollte habe ich nen kollegen gefragt und er sagte mir unter etc/apache2/sysconfig.d/loadmodule.conf müsste ich das ändern!

habe ich gemacht und bei dem neustart des apaches 2 bekam ich folgende nachricht!


[Sun Oct 15 12:00:09 2006] [warn] module rewrite_module is already loaded, skipping
[Sun Oct 15 12:00:09 2006] [warn] NameVirtualHost 85.25.135.115:80 has no VirtualHosts
Syntax OK
Starting httpd2 (prefork) [Sun Oct 15 12:00:09 2006] [warn] module rewrite_module is already loaded, skipping
[Sun Oct 15 12:00:09 2006] [warn] NameVirtualHost 85.25.135.115:80 has no VirtualHosts
failed

liegt das vielleicht an confixx? weil das funktioniert auch nicht mehr!

beispiel ne seite von mir www.mmog-online.de

EDIT:// habe Confixx Premium edition

allerdings läuft mein gameserver und meine TS server auch nicht mehr!
 
Last edited by a moderator:
Hmm ich bekomm nach der Install (make und make install fehlerlos ist fehlerlos durchgelaufen) nur:
Code:
/etc# /etc/init.d/apache2 start
Starting web server: Apache2/usr/sbin/apache2ctl: line 100: 11265 Segmentation fault      $HTTPD -k start -DSSL

System ist Debian 3.1 mit Apache2

./configure ist mit folgenden parametern gelaufen (von der alten PHP4 install übernommen)
Code:
./configure --prefix=/usr --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/ --enable-memory-limit --disable-debug --with-regex=php --disable-rpath --disable-static --with-pic --with-layout=GNU --with-pear=/usr/share/php --enable-calendar --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-track-vars --enable-trans-sid --enable-bcmath --enable-ctype --with-db4 --with-iconv --enable-exif --enable-filepro --enable-ftp --with-gettext --enable-mbstring --with-pcre-regex=/usr --enable-shmop --enable-sockets --enable-wddx --disable-xml --with-expat-dir=/usr --with-xmlrpc --enable-yp --with-zlib --without-pgsql --with-kerberos=/usr --with-openssl=/usr --with-zip=/usr --enable-dbx --with-mime-magic=/usr/share/misc/file/magic.mime --with-exec-dir=/usr/lib/php5/libexec --without-mm --without-mysql --without-sybase-ct

Google hab ich leider nichts gefunden :/ Irgendjemand eine Idee ?

/e:
Sorry Log Output ganz vergessen
Code:
[Wed Oct 18 23:12:35 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Wed Oct 18 23:12:35 2006] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Wed Oct 18 23:12:35 2006] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Wed Oct 18 23:12:35 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec2)
 
Last edited by a moderator:
@Viruz
[Sun Oct 15 12:00:09 2006] [warn] module rewrite_module is already loaded, skipping
[Sun Oct 15 12:00:09 2006] [warn] NameVirtualHost 85.25.135.115:80 has no VirtualHosts
Syntax OK
Das Modul mod_rewrite wird mehr als einmal geladen. Das fuehrt zu dieser Meldung.
"NameVirtualHost 85.25.135.115:80" wird mehrmals deklariert.

Beides nicht unbedingt schoen, aber es laeuft trotzdem.
Gerade zu letztrerem gibt es mehrere Beitraege hier im Forum.

PHP:
allerdings läuft mein gameserver und meine TS server auch nicht mehr!
Die Server an sich haben ja nichts mit Apache und PHP zu tun. Sind die beiden Server denn ueberhaupt gestartet?

@reallumpi
Sind "./configure, mak, make install" wirklich ohne Fehler durchgelaufen?
Hast du die Ausgabe der einzelnen Schritte in eine Datei umgeleitet und nachgeschaut?
Wahrscheinlich gab es doch einen Fehler.
Ich habe den Fehler ab und an mal, wenn ich neue Sachen in PHP einkompelliere und diese Sachen nicht ganz richtig installiert waren.
 
@reallumpi
Sind "./configure, mak, make install" wirklich ohne Fehler durchgelaufen?
Hast du die Ausgabe der einzelnen Schritte in eine Datei umgeleitet und nachgeschaut?
Wahrscheinlich gab es doch einen Fehler.
Ich habe den Fehler ab und an mal, wenn ich neue Sachen in PHP einkompelliere und diese Sachen nicht ganz richtig installiert waren.
Die Idee mit dem Output in File umleiten hatte ich auch gerade :) Lass es mal durchlaufen und dann schau ich weiter bzw. poste nochmal ;)
 
Ok also Output von make (Error mässig):
Code:
/root/php-5.1.6/ext/date/lib/tm2unixtime.c: In function `do_years':
/root/php-5.1.6/ext/date/lib/tm2unixtime.c:143: warning: integer constant is too                                                                             large for "long" type
/root/php-5.1.6/ext/standard/datetime.c: In function `zif_strptime':
/root/php-5.1.6/ext/standard/datetime.c:104: warning: assignment makes pointer f                                                                            rom integer without a cast
/root/php-5.1.6/ext/xmlrpc/xmlrpc-epi-php.c: In function `zif_xmlrpc_encode_requ                                                                            est':
/root/php-5.1.6/ext/xmlrpc/xmlrpc-epi-php.c:691: warning: passing arg 1 of `_efr                                                                            ee' discards qualifiers from pointer target type
/root/php-5.1.6/ext/xmlrpc/libxmlrpc/xml_element.c: In function `xml_elem_parse_                                                                            buf':
/root/php-5.1.6/ext/xmlrpc/libxmlrpc/xml_element.c:700: warning: passing arg 2 o                                                                            f `php_XML_SetElementHandler' from incompatible pointer type
/root/php-5.1.6/ext/xmlrpc/libxmlrpc/xml_element.c:700: warning: passing arg 3 o                                                                            f `php_XML_SetElementHandler' from incompatible pointer type
/root/php-5.1.6/ext/xmlrpc/libxmlrpc/xml_element.c:701: warning: passing arg 2 o                                                                            f `php_XML_SetCharacterDataHandler' from incompatible pointer type

bei make install gibts dann keinen Error... Irgendwer eine Idee wo ich ansetzen könnte ?
 
Die Fehler scheinen auf den ersten Blick nichts gravierendes zu sein.

Laedst du noch irgendwelche Module dazu? (z.B. eAccelerator)
 
Nicht wirklich. Ich werd einfach mal den Server restoren auf null nachdem es eh nur ein Testrechner ist und dann nochmal von vorne Anfangen. Ich hab fast den Verdacht das ich da vorher irgendwo gepfuscht habe. Zutrauen würd ichs mir ;)
 
Ich bekomme immer nur:
homeserver:~/php-5.2.0# make
make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden. Schluss.
Was soll ich machen? Ich bin totaler newbie! Benutze Debain Sarge.
MfG
 
Ich rate Dir PHP5 aus nicht selbst zu kompilieren, sondern aus einem Paket zu installieren. Die Pakete gibt es auf http://www.backports.org. Dort findest Du auch eine Anleitung zum Einbinden des backports-Repository.

Das Paket für PHP5 für Apache2 heisst libapache2-mod-php5.
 
Ich rate Dir PHP5 aus nicht selbst zu kompilieren, sondern aus einem Paket zu installieren. Die Pakete gibt es auf http://www.backports.org.
Wenn du mit der alten Version 5.1.6 (neu: 5.2.0) zufrieden bist, ist dies durchaus auch ein Lösungsweg.
Sicherheitstechnisch manchmal aber nicht die cleverste Lösung bei PHP hinterherzuhinken.

P.s.:
Um dir helfen zu können müsste ich wissen ob du das HowTo Schritt für Schritt durchgegangen bist.
Sieht irgendwie nicht so aus.
 
Ja bin ich...nur ab dem Punkt "make" konnte ich nicht mehr weitermachen.
Naja ich hol mir jetzt das andere Paket..mal schauen^^
Danke!

Edit: Danke! Es läuft nun! Meine phpinfo funktioniert *freu*
So jetzt brauche ich noch mysql...ist das auch so schwer oder eher einfach?
MfG
 
Last edited by a moderator:
Erstmal ein Danke an server4downs für das hilfreiche hilfreiche HowTo, hat mir sehr geholfen.
Jetzt aber zu meinem Problem: ich habe eine vServer von 1blu mit Suse 10.0 und Plesk 8.01 auf dem ich versuche PHP 5.2 mit MySQL-Unterstützung zu installieren. Bisher hatte ich leider nur ohne MySQL Erfolg. Beim ./configure ... kommt folgende Fehlermeldung:
Code:
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!
Meine ./configure Anweisung sieht folgendermaßen aus:
Code:
./configure '--prefix=/user' '--datadir=/usr/share/php' '--mandir=/usr/share/man' '--bindir=/usr/bin' '--libdir=/usr/lib64' '--includedir=/usr/include' '--sysconfdir=/etc' '--with-libdir=/usr/lib64' '--with-config-file-path=/etc' '--with-exec-dir=/usr/lib64/php/bin' '--disable-debug' '--enable-inline-optimization' '--enable-memory-limit' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sigchild' '--enable-ctype' '--enable-session' '--with-mysql=/usr' '--without-pgsql' '--enable-cli' '--with-pear' '--with-openssl-dir=/usr/include/openssl' '--with-apxs2=/usr/sbin/apxs2-prefork'
Das mysql-devel Paket ist installiert und die libmysqlclient ist in /usr/lib64 vorhanden. Ich habe auch schon mit den ./configure -Anweisungen rumgespielt, z.B. --with-mysql=/usr/lib64 , die Fehlermeldung war aber immer die Selbe.
Anscheinend wird die libmysqlclient immer nur unter /usr gesucht.
Kennt einer die Anweisung um dem ./configure Skript den richtigen Pfad zu geben? Oder stimmt vieleicht etwas ganz anderes nicht?
 
Hallo. Bei den 64-Bit-Versionen gibt es immer kleine Problemchen.
Diese sind aber auch recht leicht zu lösen.
Also, wie du es bereits gemacht hast: mysql-devel installieren.
Dann begibst du dich bitte nach /usr/include/mysql und dort erstellst du die Verzeichnisse "lib" und "include". Nun kopiere alle .h (header)-Files nach "include":
Code:
cp *.h ./include/
Dann begibst du dich nach /usr/lib64 und suchst dort nach libmysqlclient.so. Bitte beachten: dies ist auch nur ein Symlink auf eine ähnlich lautende Datei. Am besten du schaust dir die Geschichte mit dem Midnight Commander an:
Code:
mc
Dann siehst du gleich wohin der Symlink führt. Das "richtige" .so File kopierst du dann nach /usr/include/mysql/lib. Bitte beachte, dass die Datei gegebenenfalls in libmysqlclient.so umbenannt werden muss.
So, schon fertig.
Bei ./configure jetzt einfach /usr/include/mysql angeben und schon läuft der Laden.
Es kann sein, dass es bei libpng einen ähnlichen Fehler gibt. Hier einfach gleich vorgehen.

Ich hoffe ich konnte dir weiterhelfen!

P.s: wenn es einem Spaß macht kann man statt dem Kopieren auch einfach Symlinks anlegen. Wie es einem mehr Spaß macht.
 
Die Tips haben leider nicht funktioniert. Es kommt immer noch fast die gleiche Fehlermeldung:
Code:
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find libmysqlclient under /usr/include/mysql.
Note that the MySQL client library is not bundled anymore!
Der einzige unterschied ist, das das Skript jetzt anscheinend in "/usr/include/mysql" sucht. Es findet dort aber auch nichts, egal ob ich die "libmysqlclient.so" (hab auf die richtige geachtet) nach "/usr/include/mysql/lib" kopiere oder einen Symlink mache. Das ganze habe ich auch direkt unter "/usr/include/mysql" versucht und auch ein Symlink auf direkt auf "/usr/lib64" hat nichts gebracht.
Wenn ich bei der ./configure nur "--with-mysql" angebe (also ohne einen Pfad) kommt interessanter weise folgende Fehlermeldung:
Code:
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... /var/lib/mysql/mysql.sock
configure: error: Cannot find libmysqlclient under /usr.
Der "MySQL UNIX socket" wird immerhin gefunden, keine Ahnung ob das jetzt was positives ist.
Was mir noch aufgefallen ist, wenn ich bei der ./configure -Anweisung "--with-mysql=<Pfad>" irgendeinen Pfad angebe kommt immer die Meldung
Code:
configure: error: Cannot find libmysqlclient under /usr.
nur bei der Angabe von "/usr/include/mysql" wird dieser Pfad auch in der Fehlermeldung ausgegeben.

Hat noch jemand eine Idee wie das Problem zu lösen ist? Bin für jede Hilfe dankbar.
 
Poste doch bitte mal die Struktur von /usr/include/mysql.
Ich kann mir das kaum vorstellen. Habe heute morgen oder wann es war noch eine 64-Bit Installation gemacht. Ohne Probleme.
 
So sieht es in /usr/include/mysql aus:
Code:
/usr/include/mysql # ls -l
insgesamt 320
drwxr-xr-x   4 root root  4096 2006-11-09 12:30 .
drwxr-xr-x  44 root root  4096 2006-10-24 23:04 ..
-rw-r--r--   1 root root  3428 2005-09-09 20:42 errmsg.h
drwxr-xr-x   2 root root  4096 2006-11-09 10:48 include
-rw-r--r--   1 root root  6774 2005-09-09 20:43 keycache.h
drwxr-xr-x   2 root root  4096 2006-11-09 12:35 lib
-rw-r--r--   1 root root 17851 2005-09-09 20:43 m_ctype.h
-rw-r--r--   1 root root  8085 2005-09-09 20:42 m_string.h
...
Code:
/usr/include/mysql # ls -l include
insgesamt 312
drwxr-xr-x  2 root root  4096 2006-11-09 10:48 .
drwxr-xr-x  4 root root  4096 2006-11-09 12:30 ..
-rw-r--r--  1 root root  3428 2006-11-09 10:48 errmsg.h
-rw-r--r--  1 root root  6774 2006-11-09 10:48 keycache.h
-rw-r--r--  1 root root 17851 2006-11-09 10:48 m_ctype.h
...
Das Auflisten aller Headerfiles erspar ich uns ;)

Code:
/usr/include/mysql/lib # ls -l
insgesamt 8
drwxr-xr-x  2 root root 4096 2006-11-09 18:37 .
drwxr-xr-x  4 root root 4096 2006-11-09 12:30 ..
lrwxr-xr-x  1 root root   37 2006-11-09 12:34 libmysqlclient_r.so -> /usr/lib64/libmysqlclient_r.so.14.0.0
lrwxr-xr-x  1 root root   35 2006-11-09 12:32 libmysqlclient.so -> /usr/lib64/libmysqlclient.so.14.0.0

Und hier noch die entsprechenden Dateien aus /usr/lib64:
Code:
/usr/include/mysql # ls -l /usr/lib64 | grep mysql
lrwxr-xr-x   1 root root      26 2006-10-24 15:38 libmysqlclient_r.so -> libmysqlclient_r.so.14.0.0
lrwxr-xr-x   1 root root      26 2006-10-24 15:37 libmysqlclient_r.so.14 -> libmysqlclient_r.so.14.0.0
-rwxr-xr-x   1 root root 1223592 2005-09-09 20:44 libmysqlclient_r.so.14.0.0
lrwxr-xr-x   1 root root      24 2006-10-24 15:38 libmysqlclient.so -> libmysqlclient.so.14.0.0
lrwxr-xr-x   1 root root      24 2006-10-24 15:37 libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
-rwxr-xr-x   1 root root 1219272 2005-09-09 20:44 libmysqlclient.so.14.0.0
drwxr-xr-x   2 root root    4096 2006-10-24 17:25 mysql

Falls ich in meiner ./configure -Anweisung noch einen fatalen Fehler habe hier auch noch der Code:
Code:
./configure '--prefix=/usr' '--datadir=/usr/share/php' '--mandir=/usr/share/man' '--bindir=/usr/bin' '--libdir=/usr/lib64' '--includedir=/usr/include' '--sysconfdir=/etc' '--with-libdir=/usr/lib64' '--with-config-file-path=/etc' '--with-exec-dir=/usr/lib64/php/bin' '--disable-debug' '--enable-inline-optimization' '--enable-memory-limit' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sigchild' '--enable-ctype' '--enable-session' '--with-mysql=/usr/include/mysql' '--without-pgsql' '--enable-cli' '--with-pear' '--with-openssl-dir=/usr/include/openssl' '--with-apxs2=/usr/sbin/apxs2-prefork'

So, ich hoffe mit den Infos kannst du was anfangen und bekommst keinen Code-Overkill ;)
 
An deiner ./configure stimmt irgendwas noch nicht wirklich.
Bau einfach mal
Code:
--with-_lib=lib
mit ein und lass evtl.
Code:
'--with-libdir=/usr/lib64'
einfach mal raus.
Ich glaube das verwirrt die ganze Geschichte ein wenig.

Sollte jetzt funktionieren.

Cheers.
 
Es hat funktioniert :)
Die beiden änderung in der ./conigure -Anweisung haben den Erfolg gebracht.

Darum noch ein dickes DANKE an server4downs für die tolle Hilfe!
 
Back
Top