Zum Hauptinhalt springen

Debian

Grundlegende Aktionen

  • Erstellen Sie vor dem PHP-Update, wenn Passwork in einer Cloud-/virtuellen Umgebung installiert ist, einen Snapshot des virtuellen Betriebssystemzustands, um die Funktionalität bei einem fehlerhaften Update wiederherstellen zu können;
  • Erlangen Sie root-Rechte und aktualisieren Sie die lokale Paketdatenbank:
sudo -i 
apt-get update

Entfernen von PHP

Bestimmen Sie die PHP-Version:

php -v
gefahr

Verwenden Sie je nach verwendeter PHP-Version (8.0 oder 8.2) die folgenden Befehle, um die veraltete Version zu entfernen.

Deaktivieren Sie das Modul für den Apache2-Webserver:

a2dismod php8.2

Entfernen Sie das Hauptpaket, die Treiber und die PHP-Erweiterungen:

apt-get remove -y php8.2 php8.2-*

Entfernen Sie das Verzeichnis mit den verschachtelten PHP-Dateien:

rm -rf /etc/php/8.2

Installation von PHP

Installieren Sie PHP:

apt install -y php8.3-cli php8.3-bcmath php8.3-fpm php8.3-curl php8.3-gd php8.3-intl php8.3-ldap php8.3-mbstring php8.3-mysql php8.3-opcache php8.3-pgsql php8.3-soap php8.3-zip php8.3-sqlite3 php8.3-xml php8.3-dev php-pear

Installation des PHP-MongoDB-Treibers

Installieren Sie den PHP-MongoDB-Treiber:

pecl install -f mongodb

Erstellen Sie Konfigurationsdateien zum Laden und Aktivieren von PHP MongoDB:

echo "extension=mongodb.so" | tee /etc/php/8.3/fpm/conf.d/20-mongodb.ini
echo "extension=mongodb.so" | tee /etc/php/8.3/cli/conf.d/20-mongodb.ini

Erzwingen Sie die Aktivierung von PHP für Apache2 und wechseln Sie die alternative Version für ausführbare Dateien:

update-alternatives --set php /usr/bin/php8.3
update-alternatives --set phar /usr/bin/phar8.3
update-alternatives --set phar.phar /usr/bin/phar.phar8.3

Ändern des PHP-Webserver-Handlers auf php-fpm

Stellen Sie sicher, dass der Dienst php8.3-fpm läuft:

systemctl status php8.3-fpm

Starten Sie den Dienst und aktivieren Sie den Autostart, falls er gestoppt ist:

systemctl start php8.3-fpm
systemctl enable php8.3-fpm

Bearbeiten Sie den virtuellen Host des Passwork-Servers, der für HTTPS konfiguriert ist:

nano /etc/apache2/sites-enabled/default-ssl.conf

Ändern Sie den .php-Datei-Handler, indem Sie die Weiterleitung von Anfragen an den php-fpm-Socket angeben:

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>

Überprüfen Sie, ob die Konfigurationsdatei des virtuellen Hosts dem Beispiel entspricht:

<VirtualHost *:443>
ServerName passwork:443
DocumentRoot /var/www/public

<Directory /var/www/public>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>

Aktivieren Sie Module und starten Sie die Dienste neu:

a2enmod rewrite proxy_fcgi setenvif
systemctl restart php8.3-fpm
systemctl restart apache2