Während wir in anderen Beiträgen bereits das Einbinden der LiveConfig PHP Pakete erläuterten, gibt es auch einige Fälle in denen diese nicht genutzt werden können.
Um PHP in z.B. älteren Versionen, in 32 Bit oder mit eigenen Configure Parametern zu kompilieren ist meist viel klein Arbeit nötig. Durch die Unterschiede von Distributionen und Abhängigkeiten von Libs gerade mit Verzeichnis unterschieden in 32 und 64 Bit kann das Ganze ziemlich fummelig werden.
Damit wir uns nicht mit diesem Kleinkram beschäftigen müssen, sondern nur noch das Nötigste von uns angepasst werden muss gibt es ein kleines aber sehr hilfreiches Tool.
Abhängigkeiten
Um PHP überhaupt bauen zu können, benötigen wir ein paar Abhängigkeiten. Unter Debian können wir uns diese einfach mit folgendem Befehl installieren:
apt-get update && apt-get build-dep php5
phpBrew
Mittels phpBrew lassen sich allerlei PHP Versionen auf den unterschiedlichsten Systemen Kompilieren. Fummeleien beim Comfigure weil Modul A Libs in /lib/x86_64-linux-gnu sucht und Modul B libs unter /lib64 sucht sind damit Geschichte.
Zuerst benötigen wir das phpBrew Binary welches wir uns direkt von Github laden können:
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew chmod +x phpbrew
Das Binary legen wir uns am besten nach z.B. /usr/local/bin damit es gleich im Path liegt und direkt aufgerufen werden kann.
Jetzt müssen wir phpBrew initialisieren, in meinem Beispiel lege ich das ganze nach /opt/phpbrew. Zum initialisieren führen wir einfach folgende Befehle aus:
echo "export PHPBREW_ROOT=/opt/phpbrew" >> /root/.bashrc echo "export PHPBREW_HOME=/opt/phpbrew" >> /root/.bashrc source /root/.bashrc phpbrew init source /opt/phpbrew/bashrc echo "source /opt/phpbrew/bashrc" >> /root/.bashrc
Jetzt können wir mittels phpBrew beliebige PHP Versionen Kompilieren, ohne uns großartig mit den configure Parametern von PHP rumschlagen zu müssen:
phpbrew update phpbrew install 5.6 +default
Nach Abschluss des Befehls befindet sich das gerade Kompilierte PHP unter /opt/phpbrew/php/php-X/
Sehr Hilfreich. 5/7 would distupgrade again
haut hinten und nicht vorne hin.
Vermutlich fehlen befehle
Sorry, aber mit der Fehlerbeschreibung können wir dir leider auch nicht weiterhelfen. Was genau funktioniert denn nicht?
Sollte aber als letzte Wahl und nur für ältere Versionen herhalten. Die PHP-Versionen aktuell halten, kann nervig sein 😉
Herr Wilhelm,
wären Sie so gnädig derartige Kommentare auf Ihrem eigenem Blog zu belassen?
Hochachtungsvoll,
Herr Wilhelm