Wenn man schon Apache für seinen Webserver installiert, darf PHP natürlich keinesfalls fehlen. Denn viele Webseiten basieren auf der weit verbreiteten Skriptsprache PHP. Ich zeige dir in diesem Beitrag, wie man PHP5 für den Raspberry Pi installiert und wie man das PHP-Modul für Apache installiert.
Installation
Mit dem folgendem Befehl aktualisieren wir erstmal unsere Pakete:
sudo apt-get update
Nachdem dies getan ist, können wir auch schon beginnen, PHP5 zu installieren:
sudo apt-get install php5
Das Paket, welches wir gerade installiert haben, ist nur für die Grundfunktionen von PHP nötig, wollen wir aber weitere Funktionen von PHP benutzen, können wir noch folgende Pakete installieren:
- php5-fpm – Prozess-Manager
- php5-cli – PHP-Skripte über die Konsole ausführen
- php5-curl – cURL-Unterstützung (Dateien über verschiedene Protokolle übertragen)
- php5-gd – Bilder generieren und manipulieren
- php5-imagick – Bilder per ImageMagick manipulieren
- php5-imap – IMAP-Unterstützung
- php5-mcrypt – Dient zur Verschlüsselung
- php-pear – PEAR (PHP Extension and Application Repository), eine Sammlung von Klassen
- php5-sqlite – Daten in einer sqlite Datenbank ablegen
Solltest du eines der Pakete benötigen, musst du es einfach mit „apt-get install“ installieren. Dazu einfach das Paket hinter den Befehl hängen, wie im Beispiel mit der Installation von PHP5.
Ich empfehle allerdings, einfach alle Pakete zu installieren, da man nie wissen kann, ob man ein Paket brauch oder nicht. Außerdem kann man sicher gehen, dass ein Skript läuft und man die Fehlersuche eingrenzen kann, falls Probleme auftreten, weil eine Funktion nicht vorhanden/installiert ist. Wenn du alle Pakete installieren willst, oder einfach mehrere auf einmal, ohne immer wieder den gleichen Befehl für jedes einzelne Paket einzugeben, kannst du die Pakete einfach hintereinander (mit Leerzeichen getrennt) aufzählen, wie im nächsten Beispiel zu sehen:
sudo apt-get install php5-fpm php5-cli php5-curl php5-gd php5-imagick php5-imap php5-mcrypt php-pear php5-sqlite
Nachdem dies getan ist, muss auch noch das PHP-Modul für Apache2 installiert werden, denn sonst ist PHP noch nutzlos für den Einsatz zusammen mit Apache2 auf dem Raspberry Pi. Mit folgendem Befehl installieren wir das benötigte Modul:
sudo apt-get install libapache2-mod-php5
Nun sollte PHP5 problemlos auf dem Raspberry Pi funktionieren. Testen können wir dies mit einer einfachen PHP-Datei:
<?php echo "Hallo Welt!"; ?>
Die Datei speichern wir, zum Beispiel „test.php“, und legen sie im Ordner „/var/www/html/“ ab. Diese rufen wir dann im Browser auf und wenn wir „Hallo Welt!“ sehen, können wir sicher sein, das PHP funktioniert. Um alle Funktionen von PHP anzuzeigen, erstellen wir wieder eine Datei und schreiben in diese:
<?php phpinfo(); ?>
In der PHP-Info sind nochmal alle zusätzlich installierten Pakete aufgelistet.
Tipp: Mit meinem Pi Control kannst du PHP (Apache2 & SSH2 nötig) direkt ausprobieren.
* @copyright 1997-2014 The PHP Group * @license http://www.php.net/license/3_01.txt PHP License 3.01 * @version SVN: $Id$ * @link http://pear.php.net/package/PackageName * @since File available since Release 1.2.0 * @deprecated File deprecated in Release 2.0.0 */ (include_once realpath(dirname(__FILE__)).’/resources/main_config.php‘) or die(‚Fehler beim Laden der Seite. Konnte Konfigurationen nicht laden. Fehlercode: 0x0000‘); […]?>
Was soll ich machen? Ich habe php installiert und trotzdem wenn ich die installation aufrufen will kommt dass!
Hallo Herbert,
hast du schonmal den Webserver bzw. den Raspberry Pi neu gestartet?
Bei einem Apache2 Webserver muss zudem noch folgender Befehl ausgeführt werden:
Gruß
Willy
Bei mir lassen sich weder php5-cgi noch php5-curl installieren auf dem Raspi2 mit Raspian Wheezy, es kommt immer die Fehlermeldung :
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen…. Fertig
Paket php5-curl ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.
E: Für Paket »php5-curl« existiert kein Installationskandidat.
Hallo Ralf,
führe bitte mal folgende Befehle aus:
Anschließend nochmal versuchen. Sollte es weiterhin nicht funktionieren, schicke mir bitte mal den Inhalt der Datei
/etc/apt/sources.list
Gruß
Willy
Habe auch das problem „php5-cgi“ zu installieren.
sudo apt-get update
sudo apt-get upgrade
apt-get dist-upgrade
Bringt auch nix.
Meine sources.list beinhaltet:
deb http://http.kali.org/kali kali-rolling main contrib non-free
# For source package access, uncomment the following line
deb-src http://http.kali.org/kali kali-rolling main contrib non-free
Kali linux 2016.1
root@kali:~# apt-get install php5-cgi
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen…. Fertig
Paket php5-cgi ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.
E: Für Paket »php5-cgi« existiert kein Installationskandidat.
Was kann man machen ?
Hallo Laxs,
entschuldige die späte Antwort. Ich war letze Woche im Urlaub.
Leider kenne ich mich mit Kali nicht aus. Aber vielleicht hilft dir ja der Source.list Eintrag von Ubuntu weiter:
deb http://de.archive.ubuntu.com/ubuntu trusty main restricted
Gruß
Willy
Hi,
ein tolles Projekt, sehr sehr gut 🙂
In dem Abschnitt mit dem „Tipp: Mit meinem Pi Control kannst du PHP (Apache2 & SSH2 nötig) direkt ausprobieren.“… Hier sind die Links falsch gesetzt, diese funktionieren nicht mehr.
LG
Markus
Hallo Markus,
danke für den Hinweis. Ist bereits behoben.
Gruß
Willy
Hallo Willy,
ich bekomme bei der Installation von php5-ssh2 folgenden Fehler:
E: Paket php5-ssh2 kann nicht gefunden werden.
Als Befehl habe ich sudo apt-get install php5-ssh2 eingegeben.
Ach so, ich bin noch recht frisch, was den Raspberry betrifft 🙂
Vielen Dank und beste Grüße
Markus
du musst (Glaube ich) php-ssh oder php-ssh2 installieren da es PHP5 unter stretch nicht mehr gibt!
Hallo Willy,
bei der Installation von php5-ssh2 habe ich Probleme. Ich bekomme stets die Fehlermeldung E: Paket php5-ssh2 kann nicht gefunden werden. Somit kann ich Pi-Control nicht weiter installieren.
Als OS habe ich Raspbian Stretch.
Vielen Dank!
Markus
du musst (Glaube ich) php-ssh oder php-ssh2 installieren da es PHP5 unter stretch nicht mehr gibt!
Mir geht es auch so:
pi@rasp-jo:~ $ sudo apt-get install php5-ssh2
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen…. Fertig
E: Paket php5-ssh2 kann nicht gefunden werden.
# Raspberry Pi: PiControl php5 Problem auf Raspbian
# folgender Befehl:
sudo apt-get update && sudo apt-get install -y php-curl php-cli php-fpm php-mcrypt php-ssh2 libapache2-mod-php
# dann die Installation starten wie empfohlen mit:
sudo curl https://pi-control.de/pic_installer | sudo bash