PHP/Installation
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".