PHP (Hypertext Preprocessor) ist eine weit verbreitete serverseitige Skriptsprache, die sich besonders für die Webentwicklung eignet. Die Version 5.6 bringt verschiedene Leistungsverbesserungen, Kompatibilität mit älteren Erweiterungen sowie Unterstützung für dynamische Module. Damit lassen sich dynamische Webseiten entwickeln, Daten verarbeiten und Datenbanken wie MySQL, Valkey und PostgreSQL nahtlos einbinden.
In dieser Anleitung wird gezeigt, wie man PHP 5.6 auf Rocky Linux 9 installiert. Obwohl diese Version das End-of-Life erreicht hat, setzen einige Anwendungen sie noch voraus und benötigen bestimmte Module. Sie lernen hier, wie man PHP 5.6 installiert und PHP-FPM so konfiguriert, dass es mit Backend-Diensten verbunden werden kann.
Voraussetzungen
Bevor Sie starten, stellen Sie sicher, dass Sie Folgendes haben:
- Zugang zu einem Rocky Linux 9 Server als Nicht-Root-Benutzer mit Sudo-Rechten
Passende Infrastruktur bei centron
Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →
Benötigte Abhängigkeiten für PHP 5.6 installieren
PHP 5.6 ist weder in den Standard-Repositories noch in Drittanbieterquellen für Rocky Linux 9 enthalten. Für den Betrieb wird OpenSSL 1.0.2 benötigt. Im Folgenden installieren Sie die Abhängigkeiten und bauen PHP 5.6 aus dem Quellcode.
Aktuelle OpenSSL-Version prüfen
$ openssl --versionDie Ausgabe sollte etwa so aussehen:
OpenSSL 3.2.2 4 Jun 2024 (Library: OpenSSL 3.2.2 4 Jun 2024)
Paketindex aktualisieren
$ sudo dnf update -yPHP- und OpenSSL-Abhängigkeiten installieren
$ sudo dnf install -y gcc gcc-c++ make bison autoconf libxml2-devel bzip2-devel curl-devel libjpeg-devel libpng-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel readline-devel libxslt-devel libicu-devel libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libxslt-devel perl-core zlib-develOpenSSL 1.0.2 installieren
Zum Quellverzeichnis wechseln
$ cd /usr/local/srcOpenSSL herunterladen und entpacken
$ sudo wget https://www.openssl.org/source/openssl-1.0.2u.tar.gz
$ sudo tar -xvzf openssl-1.0.2u.tar.gz
$ cd openssl-1.0.2uOpenSSL konfigurieren und kompilieren
$ sudo ./config --prefix=/usr/local/openssl-1.0.2 --openssldir=/usr/local/openssl-1.0.2 shared zlib
$ sudo make -j$(nproc)
$ sudo make installOpenSSL-Umgebungsvariablen setzen
$ echo 'export LDFLAGS="-Wl,-rpath,/usr/local/openssl-1.0.2/lib"' >> ~/.bashrc
$ echo 'export CPPFLAGS="-I/usr/local/openssl-1.0.2/include"' >> ~/.bashrc
$ echo 'export PKG_CONFIG_PATH="/usr/local/openssl-1.0.2/lib/pkgconfig"' >> ~/.bashrc
$ echo 'export PATH="/usr/local/openssl-1.0.2/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrcOpenSSL-Version überprüfen
$ openssl version -aErwartete Ausgabe: OpenSSL 1.0.2u 20 Dec 2019
PHP 5.6 aus dem Quellcode bauen und installieren
PHP-Quellcode herunterladen
$ cd /usr/local/src
$ sudo wget https://museum.php.net/php5/php-5.6.40.tar.gz
$ sudo tar -xzf php-5.6.40.tar.gz
$ cd php-5.6.40PHP-Kompilierungsoptionen konfigurieren
$ sudo ./configure --prefix=/usr/local/php-5.6.40 --with-openssl=/usr/local/openssl-1.0.2 --enable-mbstring --with-pdo-mysql --with-mysqli --enable-fpm --with-openssl=/usr/local/openssl-1.0.2Hiermit wird das Installationsverzeichnis festgelegt, Erweiterungen wie mbstring und MySQL eingebunden und OpenSSL 1.0.2 integriert. Treten Fehler auf, prüfen Sie, ob Abhängigkeiten fehlen.
PHP kompilieren und installieren
$ sudo make -j$(nproc)
$ sudo make installNach erfolgreichem Bau und Installation sehen Sie Ausgaben wie:
- Installation von Shared Extensions
- Installation der PHP-CLI- und FPM-Binaries
- Generierung von phar.phar und weiteren PHP-Komponenten
PHP-Version prüfen
$ /usr/local/php-5.6.40/bin/php -vBeispielausgabe:
PHP 5.6.40 (cli) (built: Mar 19 2025 20:03:18)
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
PHP 5.6 FPM auf Rocky Linux 9 installieren und konfigurieren
PHP-FPM (FastCGI Process Manager) ist im Quellcode von PHP 5.6 enthalten und verbessert die Performance, indem es PHP-Prozesse effizienter verwaltet. Die folgenden Schritte zeigen, wie man PHP-FPM 5.6 installiert und als Dienst auf Rocky Linux 9 einrichtet.
PHP-FPM Konfiguration einrichten
Standard-Produktionskonfiguration kopieren:
$ sudo cp /usr/local/src/php-5.6.40/php.ini-production /usr/local/php-5.6.40/lib/php.iniFPM-Konfigurationsvorlagen kopieren:
$ sudo cp sapi/fpm/php-fpm.conf.in /usr/local/php-5.6.40/etc/php-fpm.conf
$ sudo mkdir -p /usr/local/php-5.6.40/etc/php-fpm.d
$ sudo cp sapi/fpm/www.conf.in /usr/local/php-5.6.40/etc/php-fpm.d/www.confPHP 5.6 Binaries zum System-PATH hinzufügen und Shell-Konfiguration neu laden:
$ echo 'export PATH="/usr/local/php-5.6.40/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrcNicht-login Service-Benutzer für PHP-FPM erstellen:
$ sudo useradd -r -s /sbin/nologin www-dataPHP-FPM Konfigurationsdateien bearbeiten
Hauptkonfigurationsdatei anpassen:
$ sudo nano /usr/local/php-5.6.40/etc/php-fpm.confFolgende Werte eintragen:
pid = /run/php56-fpm/php56-fpm.pid
user = www-data
group = www-dataAnschließend die Standard-Pool-Konfiguration bearbeiten:
$ sudo nano /usr/local/php-5.6.40/etc/php-fpm.d/www.confWerte anpassen:
user = www-data
group = www-data
listen = 127.0.0.1:9000
listen.owner = www-data
listen.group = www-data
listen.mode = 0660FPM Laufzeit- und Log-Verzeichnisse vorbereiten
Erforderliche Verzeichnisse mit passenden Rechten erstellen:
$ sudo mkdir -p /run/php56-fpm
$ sudo chown -R www-data:www-data /run/php56-fpm
$ sudo chmod 755 /run/php56-fpm
$ sudo mkdir -p /usr/local/php-5.6.40/var/log
$ sudo chown -R www-data:www-data /usr/local/php-5.6.40/var/log
$ sudo chmod -R 755 /usr/local/php-5.6.40/var/logPHP-FPM Konfiguration validieren
Prüfen Sie die Konfigurationsdateien auf Syntaxfehler:
$ sudo /usr/local/php-5.6.40/sbin/php-fpm -tErwartete Ausgabe:
[18-Apr-2025 20:34:37] NOTICE: configuration file /usr/local/php-5.6.40/etc/php-fpm.conf test is successful
PHP 5.6 FPM als Systemd-Dienst einrichten
Systemdienst-Datei erstellen
Öffnen Sie eine neue systemd-Dienstdatei für PHP 5.6 FPM:
$ sudo nano /etc/systemd/system/php56-fpm.serviceFügen Sie folgenden Inhalt ein:
[Unit]
Description=PHP 5.6 FastCGI Process Manager
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/php-5.6.40/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php-5.6.40/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
Restart=always
PrivateTmp=true
User=www-data
Group=www-data
WorkingDirectory=/usr/local/php-5.6.40
[Install]
WantedBy=multi-user.targetPHP-FPM Dienst aktivieren und starten
Systemd neu laden und den Dienst aktivieren:
$ sudo systemctl daemon-reload
$ sudo systemctl enable php56-fpm
$ sudo systemctl start php56-fpmStatus des PHP-FPM Dienstes prüfen
Überprüfen, ob der Dienst aktiv ist:
$ sudo systemctl status php56-fpmErwartete Ausgabe:
● php56-fpm.service - PHP 5.6 FastCGI Process Manager
Loaded: loaded (/etc/systemd/system/php56-fpm.service; enabled; preset: disabled)
Active: active (running) since Wed 2025-03-19 20:28:17 UTC; 19s ago
Main PID: 223702 (php-fpm)
Tasks: 3 (limit: 23116)
Memory: 2.5M
CPU: 32ms
CGroup: /system.slice/php56-fpm.service
├─223702 "php-fpm: master process (/usr/local/php-5.6.40/etc/php-fpm.conf)"
├─223703 "php-fpm: pool www"
└─223704 "php-fpm: pool www"
Der Dienst läuft erfolgreich, was durch den Status „active (running)“ bestätigt wird.
PHP 5.6 auf Rocky Linux 9 testen und ausführen
Um sicherzustellen, dass PHP 5.6 korrekt funktioniert, führen Sie die folgenden Schritte aus.
PHP-Version überprüfen
$ php --versionErwartete Ausgabe:
PHP 5.6.40 (cli) (built: Apr 18 2025 14:44:08)
Zend Engine v2.6.0, Copyright (c) 1998–2016 Zend Technologies
PHP-Skript erstellen und ausführen
Neues Skript in Ihrem aktuellen Verzeichnis anlegen:
$ sudo nano app.phpFolgenden Code in die Datei einfügen:
<?php
echo "Greetings from centron! \n";
?>Skript ausführen:
$ php app.phpAusgabe:
Greetings from centron!
PHP 5.6 mit Nginx auf Rocky Linux 9 einsetzen
Um dynamische Inhalte mit PHP 5.6 FPM und Nginx bereitzustellen, gehen Sie wie folgt vor.
Nginx installieren und starten
$ sudo dnf install -y nginx
$ sudo systemctl start nginxNginx-Status prüfen
$ sudo systemctl status nginxBeispielausgabe:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded
Active: active (running)
Nginx Virtual Host Konfiguration erstellen
Neue Serverblock-Konfigurationsdatei anlegen:
$ sudo nano /etc/nginx/conf.d/app.example.confFolgende Konfiguration einfügen (ersetzen Sie app.example.com durch Ihre Domain):
server {
listen 80;
server_name app.example.com;
root /var/www/app.example.com;
index index.php index.html index.htm;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Nginx validieren und neu starten
$ sudo nginx -t
$ sudo systemctl restart nginxWeb-Root und PHP Info-Seite einrichten
$ sudo mkdir -p /var/www/app.example.com
$ sudo nano /var/www/app.example.com/info.phpInhalt für info.php hinzufügen:
<?php
phpinfo();
?>Damit werden PHP-Umgebungsinformationen im Browser angezeigt.
SELinux und Firewall konfigurieren
Nginx die Verbindung zu PHP-FPM erlauben und HTTP-Zugriff in der Firewall öffnen:
$ sudo setsebool -P httpd_can_network_connect 1
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --reloadDienste neu starten
$ sudo systemctl restart php56-fpm
$ sudo service nginx restartSetup im Browser prüfen
Rufen Sie http://app.example.com im Browser auf. Die PHP-Info-Seite sollte erscheinen und bestätigt die erfolgreiche Integration von Webserver und PHP-FPM.
Sicherheitshinweis
Achtung: PHP 5.6 wird nicht mehr gepflegt und erhält keine Sicherheitsupdates. Verwenden Sie es nur für Altsysteme, die nicht auf neuere Versionen migriert werden können.
Fazit
Sie haben PHP 5.6 und PHP-FPM erfolgreich auf Rocky Linux 9 installiert. Damit können Sie ältere Anwendungen weiterhin betreiben. Für bessere Sicherheit und Performance sollten Sie jedoch auf eine unterstützte PHP-Version umsteigen. Weitere Informationen und Migrationstipps finden Sie in der offiziellen PHP-Dokumentation.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.