ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

PHP

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./php-logo.png PHP ist eine Skriptsprache mit einer an Java bzw. Perl angelehnten Syntax, die häufig zur Erstellung dynamischer Webseiten oder Webanwendungen verwendet wird. Aus Sicherheitsgründen darf PHP nur ab Version 5 eingesetzt werden. Vielfach sind PHP-Skripte an eine bestimmte Version des PHP-Interpreters gebunden.

Die drei Hauptgebiete, in denen PHP-Skripte genutzt werden, beschreibt die Seite Was kann PHP? 🇩🇪 im PHP-Handbuch 🇩🇪.

Installation

In den offiziellen Paketquellen ist – je nach Ubuntu-Version – zwar nicht immer die aktuelle Version enthalten, aber sicherheitsrelevante Aktualisierungen werden automatisch berücksichtigt. Bei den LTS-Versionen kommen folgende PHP-Versionen zum Einsatz (siehe auch php7, php5 und php):

Installation für serverseitige Programmierung

PHP zur Nutzung mit einem Webserver kann ab Ubuntu 16.04 direkt über das folgende Paket installiert werden [1]:

  • php

Befehl zum Installieren der Pakete:

sudo apt-get install php 

Oder mit apturl installieren, Link: apt://php

bzw. bis einschließlich Ubuntu 15.10:

  • php5

Befehl zum Installieren der Pakete:

sudo apt-get install php5 

Oder mit apturl installieren, Link: apt://php5

Installation für Kommandozeilenprogrammierung

PHP ohne die Nutzung mit einem Webserver kann ab Ubuntu 16.04 direkt über das folgende Paket installiert werden [1]:

  • php-cli

Befehl zum Installieren der Pakete:

sudo apt-get install php-cli 

Oder mit apturl installieren, Link: apt://php-cli

bzw. bis einschließlich Ubuntu 15.10:

  • php5-cli

Befehl zum Installieren der Pakete:

sudo apt-get install php5-cli 

Oder mit apturl installieren, Link: apt://php5-cli

Funktionstest

Um das Zusammenspiel von PHP mit einem lokal installierten Webserver zu testen, kann der folgende Code als /var/www/html/phpinfo.php abgespeichert:

1
2
3
<?php
phpinfo();
?>

und im Browser aufgerufen werden:

http://localhost/phpinfo.php 

Die Ausgabe zeigt viele Detailinformationen zur PHP-Installation. Aus Sicherheitsgründen sollte diese Datei auf öffentlich zugänglichen Webservern wieder entfernt werden, um diese Informationen vor potentiellen Angreifern zu verbergen.

Anbindungen

Apache

Bei der Installation von PHP für serverseitige Programmierung wird das passende Modul für den Webserver Apache normalerweise mit installiert. Fehlt dieses, so kann man das Paket:

  • libapache2-mod-php7.0 – für PHP7

  • libapache2-mod-php5 – für PHP5

nachinstallieren [1]. Bei Ubuntu 16.04 ist die Nachinstallation immer notwendig.

Wenn nach der Installation von Apache und PHP die PHP-Dateien nicht ausgeführt, sondern nur heruntergeladen werden, kann es sein, dass das Apache-Modul nicht richtig aktiviert wurde. Weitere Informationen hierzu findet man im Artikel Apache/Module.

MySQL

Als Datenquelle für viele PHP-Skripte dienen Datenbanken. Zusammen mit Apache und PHP macht das dann einen LAMP-Server (Linux, Apache, MySQL und PHP). Die Anbindung an z.B. MySQL kann über die Pakete:

  • php-mysql bzw.

  • php5-mysql

installiert [1] werden.

PostgreSQL

Als weitere Datenquelle für PHP-Skripte kann auch ein PostgreSQL-Server benutzt werden (siehe PostgreSQL).

PHP-Erweiterungen

Es gibt noch zahlreiche andere nützliche Erweiterungen für PHP, die zusätzlich installiert werden können. Eine unvollständige Auswahl für PHP5/PHP7:

  • php-cgi / php5-cgi - CGI-Skripte ausführen

  • php-cli / php5-cli - PHP-Skripte über die Konsole ausführen

  • php-curl / php5-curl - cURL-Unterstützung (Dateien über verschiedene Protokolle übertragen)

  • php-gd / php5-gd - Bilder generieren und manipulieren

  • php-imagick / php5-imagick (universe) - Bilder per ImageMagick manipulieren.

  • php-imap / php5-imap (universe) - IMAP-Unterstützung.

  • php-pear - PEAR (PHP Extension and Application Repository), eine Sammlung von Klassen

  • php5-pgsql - wie php5-mysql, nur für das Datenbanksystem PostgreSQL

  • php5-sqlite3 (universe) - Daten in einer sqlite3 Datenbank ablegen

PHP-Framework

Problembehebung

Ermitteln der PHP-Version

Die installierte PHP-Version lässt sich durch die folgende Eingabe in einem Terminal ermitteln [3]:

php -v 

Diese Revision wurde am 2. Mai 2018 13:00 von koenigsk erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, Internet, Datenbank, PHP, Composer, LAMP