# Apache2 - Update PHP 4.3.10 auf 4.4.7



## LordZed (14. Juni 2007)

Hi Leute! Ich habe ein kleines Problem mit meiner PHP Version, weswegen ich sie updaten wollte. Anscheinend hat diese Version ein paar kleine macken. Ich habe nen Wordpress-Blog auf meinem vServer am laufen und ich kann keine Plugins mehr aktivieren. Kommt immer nur ne weiße Seite. Im Error-Log von Apache steht was von Memory Overflow oder irgendwie sowas. Hab gehört das wär nen Bug in der PHP Version, was mir aber bisher noch niemand richtig bestätigen oder bestreiten konnte.

Jedenfalls wollte ich PHP updaten, weiß jedoch nicht, wie ich das machen muss. Ich habe nen SuSe 9.x vServer mit Apache2 drauf und PHP 4.3.10, welches ich auf die aktuelle 4er-Version 4.4.7 updaten wollte um zu gucken, ob das den Fehler behebt. Alles was ich weiß ist, dass ich außer der php.ini nichts backupen muss. Was danach kommt weiß ich nicht und hab auch schon nach gesucht... aber ich hab sowas halt noch nie gemacht, deswegen weiß ich nicht, was ich tun muss.

Kann mir jemand helfen oder sagen, wo ich ein Tutorial für Leute finde die noch nie sowas gemacht haben. Meine SuSe-Kenntnisse sind oberflächlich, aber ganz dumm bin ich nicht. Also kein absoluter Idiot, der nichts versteht  Bin für eure Hilfe sehr dankbar.

Gruß,
Zed


----------



## andy72 (14. Juni 2007)

Wenn Du über SSH auf dem Server bist, befindest Du Dich ja zwangsläufig in der (Bash-)Shell. Was Du also tun musst, ist über den Befehl "rpm -u Neuer-Paket-Name" das Paket neu zu installieren. Dabei ist jetzt nur 1 Problem: habe eben gesehen, dass es für SuSE 9.x maximal PHP in Version 4.3.10 gibt - ich weiss nicht, inweit SuSE eine Installation es Paketes zulässt, dass mit Deinem System nicht kompatibel ist bzüglich der Abhängigkeiten der Pakete untereinander.

Bleibt nur die etwas komplizierte Lösung, den Webserver, PHP und zugehörige Module aus dem Quellcode zu installieren, da Du ja einen Root-Server hast (nehme ich zumindest an, da Du von vServer redest) dürfte das kein Problem sein.


----------



## LordZed (14. Juni 2007)

Und wie mache ich das etwas mehr im Detail?


----------



## andy72 (14. Juni 2007)

Du kannst ja erstmal versuchen, PHP in der letzten verfügbaren Version zu installieren - vieleicht behebt das Dein Problem ja schon.
Wie ich oben schon beschrieben habe, machst Du das am besten über RPM 

Das paket PHP findest Du auf ftp://ftp.suse.com/pub/suse und dann musst Du sehen, was deine genaue Version des Systems ist (findest Du in /etc/SuSE-Release oder ähnlich)


----------



## LordZed (14. Juni 2007)

ok, danke! Ich versuchs mal, sobald ich später zuhause bin und Zugriff auf meinen vServer habe


----------



## LordZed (15. Juni 2007)

sry, doppelpost! 
Ich hab grad gesehen, dass ich ja die neueste Version für meine Dist. schon drauf hab. Also die 4.3.10. Soll ich's trotzdem einfach nochmal neu drüber installieren oder gibt es innerhalb der 4.3.10 noch irgendwie verschiedene Builds oder so, denn auf der o.g. Seite stehen ganz viele 4.3.10er!? Außer der "php.ini" muss ich nichts dann sichern, oder?

Fragen über Fragen!


----------



## andy72 (15. Juni 2007)

Für was willst Du PHP überinstallieren ? Sofern PHP funktioniert, brauchst Du das nicht.
Und nein, innerhalb veröffentlichter PHP-Versionen gibt es keine "Extra-Builds".
Wenn PHP 4.3.10 das letzte Release für Deine Distribution ist, ist's halt so - ein höheres Release wird dann nur noch durch ein selbstständiges neu kompilieren des PHP möglich sein. Das hier jedoch zu Posten, halte ich für keine sehr gute Idee, da der Aufwand doch arg hoch ist und das Risiko eines Fehlers im System auch ziemlich hoch ist, wenn man sich damit nicht wirklich auskennt.

Was noch bleibt,bevor Du Dich für diesen Schritt entscheidest ist,kannst Du versuchen, ein PHP aus einer höheren Distri-Version zu installieren - ein Versuch ist es wert, jedoch kann man dafür keine Garantie für das funktionieren übernehmen...


----------



## LordZed (15. Juni 2007)

Ja im Prinzip funktioniert PHP ja, bis auf die Tatsache, dass er mir oft nur weiße Seiten anzeigt. Mit vorliebe, wenn ich nen Plugin in meinem Wordpress-Blogg aktivieren will und schon einige andere aktiviert sind. Da dieser "Speicheroverflow" angeblich nen Bugg der Version ist, wird eine "Überinstallation" das Problem wohl nicht lösen.

Kann ich denn, wenn es die neuere Version nicht tut, einfach die ältere wieder installieren und alles ist beim alten?


----------



## andy72 (15. Juni 2007)

Ein Downgrade sollte möglich sein, sofern auch diese Version noch zu Deiner Distri passt.
Hast Du das Problem mit den Plugins mal Deinem Blog-Hersteller gepostet ?


----------



## LordZed (15. Juni 2007)

Das Problem liegt nicht an dem System, denn unsere andere Seite (selbst gecodet + phpBB2-Forum) hat auch gelegentliche aussetzter in dieser Weise!


----------



## LordZed (15. Juni 2007)

Also auf der Seite, die du mir genannt hast gibt es einige verschiedene Versionen von PHP 4.3.10 - Das scheinen Bugfixes zu sein. Kann doch sein, dass ich die drauf hab. Denke ich werd die mal aufspielen ^^

//EDIT
OK! Hab nen besseren Weg gefunden glaube ich. Das Tool YaST hat ne online update funktion und die hab ich jetzt mal gestartet. Waren auch PHP4-Security-Updates mit dabei. Mal sehen ob es hilft.

//EDIT2
OK! Ich hab das Update mit YaST gemacht und es tuts nochimmer nicht. Hab den Server auch rebootet. In der Error-Log von Apache2 steht:


```
Allowed memory size of 8388608 bytes exhausted (tried to allocate 0 bytes)
Allowed memory size of 8388608 bytes exhausted (tried to allocate 0 bytes)
Allowed memory size of 8388608 bytes exhausted (tried to allocate 0 bytes)
```

Sagt das irgendwem was und weiß jemand, was ich da tun kann/muss?

//EDIT3
ok... beim letzten googlen hab ich nix gefunden, aber jetzt schon! Anscheinend hat das geholfen:
http://www.tech-recipes.com/php_programming_tips777.html


----------



## andy72 (15. Juni 2007)

Hm, klingt so, als werden da mehr als 8MB daten hin und hergeschaufelt.
Ich hatte das mal,alsich einen SELECT-Befehl aus einer DB gemacht habe - ohne LIMIT,ohne WHERE-Klausel und allesselektiert ... PHP fand das nicht lustig 
habe alsobissi das Script geändert, und schon ging das


----------

