PHP/Installation

Aus Mikiwiki
< PHP
Version vom 31. Januar 2020, 18:28 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Linux ist bestimmt die häufigste Produktionsplattform für PHP. Die Installation setzt in der Regel eine Übersetzung des Quellcodes voraus. So können auch bestimmte Module einkompiliert werden, die standardmässig nicht enthalten sind. Im WWW finden sich genügend gute Tutorials zum Thema.

Debian GNU/Linux 10

$ sudo apt-get install php
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.3 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcurl4 liblua5.2-0
  php-common php7.3 php7.3-cli php7.3-common php7.3-json php7.3-opcache
  php7.3-readline ssl-cert
Vorgeschlagene Pakete:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom php-pear
  openssl-blacklist
Die folgenden NEUEN Pakete werden installiert:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.3 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcurl4 liblua5.2-0
  php php-common php7.3 php7.3-cli php7.3-common php7.3-json php7.3-opcache
  php7.3-readline ssl-cert
0 aktualisiert, 20 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 6'646 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 26.3 MB Plattenplatz zusätzlich benutzt.

SuSE Linux 7.3 Professional

# tar xzf php-4.2.0.tar.gz

Konfiguration von PHP (Dynamic Module). Falls Apache bereits installiert ist, muss kontrolliert werden, ob das shared object module "mod_so.c" vorhanden ist.

# cd /usr/local/apache2/bin
# ./httpd -l
Compiled in modules:
...
httpd_core.c
...
mod_so.c

Installation von PHP nach "/usr/local/apache2".

# cd /home/imd/software/php-4.2.0
# ./configure --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs
# make install

Während dieses Vorgangs wird auch die Datei "httpd.conf" verändert und versucht, das dynamische PHP-Modul einzuschalten. In der Datei "httpd.conf" sollte zu diesem Zweck folgende Zeile zu finden sein.

LoadModule php4_module modules/libphp4.so

Zusätzlich muss in der Datei "httpd.conf" folgende Zeile eingefügt werden, um die Dateitypen festzulegen, die vom Webbrowser interpretiert werden sollen.

# vi /usr/local/apache2/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Zum Schluss muss die Datei "php.ini-dist" nach "/usr/local/lib/php.ini" kopiert und an die eigenen Erfordernisse angepasst werden.

# cp php.ini-dist /usr/local/lib/php.ini

Ubuntu 8.04 Hardy Heron

Anwahl der benötigten Pakete über die Synaptics-Paketverwaltung.

  • apache2-mpm-prefork
  • php5, php5-cli, php5-mcrypt, php5-mysql
  • mysql-server

Ausserdem empfiehlt sich die Installation der folgenden Pakete.

  • libzend-framework-php
  • mysql-admin, mysql-query-browser, phpmyadmin

Während der Installation muss das "root"-Passwort für den MySQL-Server angegeben werden - damit ist das Administratorkonto des MySQL-Servers von Beginn weg abgesichert. Bei der Installation von "phpmyadmin" muss zusätzlich "Apache2" als Webserver, für den das Programm konfiguriert werden soll, angegeben werden.

Alle Serverdienste werden sofort gestartet. Ein manueller Neustart des Apache-Webservers wird wie folgt durchgeführt.

$ sudo /etc/init.d/apache2 restart

Die wichtigsten Eckdaten des so konfigurierten Systems:

PHP-Konfiguration /etc/php/apache2/php.ini
Apache-Konfiguration /etc/apache2/httpd.conf
Apache-DocumentRoot-Verzeichnis /var/www
Apache-Benutzerkonto www-data
Apache-Startskript /etc/init.d/apache2

Vorgehen bei Installationsproblemen

Bei manueller Installation kann der Vorgang fehlschlagen. Es empfiehlt sich dann folgendes Vorgehen:

  • Kontrolle der Protokolldateien des Apache-Webservers (z. B. unter "/var/log/apache2/error.log").
  • Zeigt der Webbrowser anstelle der Datei "http://localhost/test.php" einen Download-Dialog an, so fehlt meist folgende Zeile in der Datei "httpd.conf":
AddType application/x-httpd-php .php
  • Kontrolle, welche Konfigurationsdatei PHP tatsächlich verwendet. Die Ausgabe der Funktion "phpinfo" zeigt im ersten Abschnitt unter "Loaded Configuration File" den Pfad zur aktuell geladenen Datei "php.ini", z. B.
Loaded Configuration File     /etc/php5/apache2/php.ini
  • Änderungen in den Dateien "httpd.conf" und "php.ini" werden erst nach einem Neustart des Apache-Webservers wirksam.
  • Jeder Webbrowser verwaltet einen Pufferspeicher (Cache), in dem er die zuletzt geladenen Seiten speichert. Nach einer Fehlerkorrektur in den Dateien "httpd.conf" und "php.ini" kann es sein, dass der Browser weiterhin die alte Seite anzeigt. In diesem Fall muss der Cache des Browsers gelöscht werden, z. B. bei Firefox im Menü "Bearbeiten > Einstellungen > Erweitert > Netzwerk: Jetzt leeren".