# PHP updaten, wie



## KingChimera (14. März 2006)

Tach zusammen. Nachdem ich meinen Linux vor kurzem von SuSE zu Debian bekehrt habe sind hin und wieder ein paar kleine Änderungen gemacht worden, kleine Gameserver installiert worden etc pp.
Jedenfalls benötige ich für ein Gameserver-Administrationstool PHP5, habe allerdings nur PHP4.3.10-16.
Und nachdem auch die Synaptic Paketverwaltung komischerweise PHP4 als neueste Version ausgibt habe ich keine andere Möglichkeit als PHP5 manuell zu installieren. Und genau hier scheitert es... 
Ich habe ehrlich gesagt keinerlei Ahnung wie ich mein PHP updaten kann, was dazu evtl. noch benötigt wird, ob man vorher die alte Version deinstallieren muss etc.

Kennt daher jemand von euch ein gutes, wenn möglich deutsches (wenns englisch ist ists auch okay, aber ich bin bequem  , Tutorial wie man PHP5 bei bestehendem Apache 2.0.54 installieren kann
BITTE... 

Servus, greetz KingChimera


----------



## Dennis Wronka (15. März 2006)

Also:

aktuell installierte PHP-Version deinstallieren (z.B. ueber apt, yast, rpm, etc.)
aktuelle PHP-Version runterladen (zum Zeitpunkt meiner Tipperei ist dies 5.1.2)
das Archiv entpacken
fuer php-5.1.2.tar.gz


```
tar -xzf php-5.1.2.tar.gz
```
fuer php-5.1.2.tar.bz2

```
tar -xjf php-5.1.2.tar.bz2
```

in das Verzeichnis mit den PHP-Quellen wechseln


```
cd php-5.1.2
```


```
./configure --help
```
 zeigt die einzelnen Optionen, die Ausgabe am besten mal fleissig durchlesen um zu entscheiden welche Extensions benoetigt werden

```
./configure
```
 trifft die Vorbereitungen zum kompilieren. Hier muss zumindest angegeben werden wo sich das Programm apxs (Teil von Apache) befindet (--with-apxs2=/pfad/zu/apxs)
Hier mal das Script welches mir das ganze etwas vereinfacht. Dort sind bereits einige Extensions (die  die ich hier benoetige) ausgewaehlt, alle anderen werden nicht installiert. Anhand der Angaben aus 
	
	
	



```
./configure --help
```
 kannst Du ja entscheiden ob Du noch zusaetzliche brauchst oder welche weglassen willst. Die Pfade in diesem Script wirst Du sicher auch noch anpassen muessen.

```
./configure --prefix=/usr --disable-all --enable-safe-mode --with-apxs2=/usr/local/apache2/bin/apxs \
--with-bz2=/usr --enable-ftp --with-gd=/usr/local --with-gettext=/usr --with-imap=/usr/local/imap-2004e \
--enable-mbstring --with-mcrypt=/usr/local --with-mhash=/usr --with-mssql=/usr/local --with-mysql=/usr \
--with-openssl=/usr --with-pcre-regex --enable-posix --enable-session --enable-sockets --with-zlib=/usr
```


```
make
```
 kompiliert PHP, auf einem aktuellen Rechner dauert das nur ein paar Minuten

```
make install
```
 installiert PHP. Auch das Apache-Modul wird im richtigen Verzeichnis abgelegt.

Die php.ini muss erstellt werden. Falls Du den Parameter --prefix weggelassen hast muss sie in das Verzeichnis /usr/local/lib, ansonsten in das Unterverzeichnis /lib unter dem von Dir angegebenen Pfad. Im oben gezeigten Script also nach /usr/lib.


```
cp php.ini-dist /usr/lib/php.ini
```
Dort kannst Du dann noch nach Deinem Belieben Einstellungen vornehmen.

In der Apache-Configuration (httpd.conf) musst Du ueberpruefen ob das Modul eingetragen wurde (sollte eigentlich der Fall sein)


```
LoadModule php5_module        modules/libphp5.so
```
und auch ueberpruefen ob der Application-Type fuer PHP angelegt wurde und dieser auch von PHP interpretiert wird.

```
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source  .phps
```

der Apache muss nun neu gestartet werden
So, nun sollte eigentlich alles laufen. Wenn nicht, dann hab ich entweder etwas vergessen oder Du etwas falsch gemacht.


----------



## RedWing (15. März 2006)

Hallo,

die Backport Mirrors haben php5 in Ihren Trees.

http://www.backports.org/

Einfach einen Server in /etc/apt/sources.list eintragen danach ein

```
apt-get update
apt-get --reinstall install php
```

ausfuehren und dein php sollte auf dem neusten Stand sein.

Gruß

RedWing


----------



## Dennis Wronka (15. März 2006)

RedWing hat gesagt.:
			
		

> Hallo,
> 
> die Backport Mirrors haben php5 in Ihren Trees.
> 
> ...


Aber wenn wir mal ganz ehrlich sind ist das doch viel zu einfach... ;-)


----------



## Sinac (15. März 2006)

Dennis Wronka hat gesagt.:
			
		

> Aber wenn wir mal ganz ehrlich sind ist das doch viel zu einfach... ;-)



Nene, genau darum schwöre ich auf Debian - es gibt nix besseres als APT 
Bin auch bissle traurig das der Nachfolger von Auditor auf Slackware basiert, wie läuft das da mit den Paketen?


----------



## Dennis Wronka (15. März 2006)

Ich sag ja, mit apt geht das einfach viel zu einfach.

Ich hab mich ehrlich gesagt nie wirklich damit auseinandergesetzt ob bei Slackware direkt irgendwas dabei ist um Pakete zu aktualisieren, ich installier ja eh alles bei Bedarf aus den Quellen. Hier auf der Arbeit hab ich mir mal SlackInsUp installiert um ein paar der Pakete zu aktualisieren. Bei Slackware laeuft ja alles ueber simple .tar.gz-Pakete die quasi die gesamte Verzeichnisstruktur beinhalten wo der Kram hinmuss. Zusaetzlich gibt es halt noch ein Verzeichnis mit einem Haufen Dateien mit Informationen ueber die Pakete (Version, etc.), aber das muss man erstmal finden. Naja, auch jeden Fall find ich's besser als RPM. Wie gesagt, ich installier mir halt ein Basissystem und alles was dann kommt ist aus dem Source. Dabei ueberschreib ich auch durchaus schonmal was von der Slackware, dabei ist's mir dann egal ob die Info-Datei weiterhin eine alte Version zeigt. Das ist mir dann doch etwas zu bloed noch irgendwelche Text-Dateien aktuell zu halten.

Ich spiel ja schon seit einiger Zeit mit dem Gedanken mal wieder ein Linux-from-Scratch zu stricken. Dann brauch ich mir wirklich um nix mehr Gedanken machen und hab alles auf dem aktuellsten Stand.


----------



## Sinac (15. März 2006)

Ist ja im Prinzip auch kein Problem alles aus Quellen zu machen, aber grade auf apt-get update & upgrade möchte ich auch manchen Systemen nicht verzichten müssen. Auf anderen wiederum schon


----------



## Dennis Wronka (15. März 2006)

Schon richtig, hier auf der Arbeit nutze ich ja auch hauptsaechlich SlackInsUp. Daheim darf der Rechner aber selbst kompilieren. So hab ich mir wenigstens eine richtig fein grosse Sammlung an Programmen und Libraries aufbauen koennen.


----------



## RedWing (15. März 2006)

Hallo,

man kann mit apt-get nat auch fom Source installieren...


```
apt-get source packagename --compile
```

mit dem passenden deb-src Eintrag in /etc/sources.list.

Btw ich hab auch mal Slackware am Laufen gehabt. Die haben da ein hervorragendes 
Paketverwaltungssystem fuer Sourcedistributionen. Das ist ein Clone von Gentoo's emerge und nennt sich Emerde. 
Ein fabelhaftes Werkzeug 

http://emerde.freaknet.org/

Gruß

RedWing


----------



## Dennis Wronka (16. März 2006)

Von emerde hab ich auch schon gehoert/gelesen.
Wollte es mir eigentlich auch mal angesehen haben, aber bin irgendwie nicht dazu gekommen und hab dann mein Wissen ueber dessen Existenz erstmal irgendwie verdraengt. Oder so...


----------



## KingChimera (17. März 2006)

Hmm, also wenn ich php reinstalle (über reinstall install) aktualisiert er mein jetziges PHP4, allerdings installiert er nicht PHP5.
Jetzt habe ich inzwischen allerdings ein anderes Problem: wenn ich versuche über ein PHP-Script auf meinem mySQL-Server ne DB anzulegen gehts nicht, mySQL ist installiert, phpMyAdmin kann auch darauf zugreifen etc., aber irgendwie will der keine Datenbanken anlegen oder Einträge erstellen.

In der info.php (also eben in der Auflistung über phpinfo(); ) steht auch without==mysql, daher denke ich mal hängt das damit zusammen...

Jetzt versuche ich erstmal PHP5 zu installen, und da versuch ich auch mysql reinzupflanzen. 

Wenns ned klappt bin ich wieder hier... 

Servus, greetz KingChimera


----------



## EddieG (12. September 2007)

das heisst ich schreibe es so rein 

deb [ftp|http]://ftp.de.debian.org/backports.org/ sarge-backports main contrib non-free
?

müssen es nicht zwei zeilen immer sein?
weil mit apt-get update bekomme ich leider nur php 4.3 und ich brauche php 5.2.4 :/
ich gehe nem tutorial total snach schritt für schritt

aber dann kommt folgendes
das ist das tutorial http://www.debianhelp.co.uk/apachephp5.htm
kann mri jemand die fehler sagen?


> Forcing reload of web server: Apache2grep: /etc/apache2/mods-enabled/php5.load: No such file or directory
> grep: /etc/apache2/mods-enabled/php5.conf: No such file or directory
> ... failed!
> You may still have some apache2 processes running.  There are
> ...


Bei  "apt-get install php5" kommt das was kann ich tun?
Reading Package Lists... Done
Building Dependency Tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  php5: Depends: libapache2-mod-php5 (>= 5.2.3-0.dotdeb.1) or
                 libapache-mod-php5 (>= 5.2.3-0.dotdeb.1) or
                 php5-cgi (>= 5.2.3-0.dotdeb.1)
E: Broken packages


----------

