Wie PHP Mdolue für Apache anheben

RAMSoße

Lt. Commander
Registriert
März 2018
Beiträge
1.574
Hallo Zusammen

vorweg, ich bin noch recht Laienhaft in dem Thema unterwegs und bitte deshlab um Nachsicht.

Folgende Problemstellung:
Ubuntu Server auf dem eine Management Website läuft. Im Terminal habe ich PHP von 7.2 auf 7.4 angehoben. Diese dann auch aktiviert.

Die Website gibt aber aus, dass sie immer noch mit PHP 7.2 läuft. Im netzt komme ich immer wieder zu dem Schluss das ich die PHP Version von Apache auch auch anheben muss.

Ich habe leider keine Ahnung wie man das macht.
mit

apachectl -M

sehe ich die Module

mit

apachectl -M | grep version

spuckt er mit nur "version_module (static) aus.

Ich kann also mit meinem Wissensstand nicht überprüfen, welche Version überhauupt läuft.

Danke schon einmal
 
Dann zeig doch mal die apache config und sag uns um welche Software es sich handelt?

Kontext aus deinem anderen thread wäre cool.
Die 8.0 und 8.1 Pakete hast du ja schon installiert.
Und ey.. Wenn du alles php7.x zeug deinstallierst schreibt der apache dir schon in die logs warum er unbedingt php 7.x haben will.
Bei so Problemen einfach die Basis weg zu treten ist ein schmutziger aber effizienter weg um ohne Doku zu sehen, was man anpassen muss
 
RAMSoße schrieb:
Ubuntu Server auf dem eine Management Website läuft.
Läuft sowas wie Plesk/Virtuozzo oder ähnliches?
(Meine Erfahrung: Das Anheben der PHP-Version ist dann ohne großen Aufwand fast unmöglich)

Aber ja. So paar mehr Details wären einfach nice. Zu Server und Software.
 
Helge01 schrieb:
php -v zeigt die Version an.
--> nur für php cli, nicht für das was der Webserver macht.

Spottdrossel schrieb:
Probier mal

a2dismod php7.2
a2enmod php7.4
Korrekt für php das als apache modul läuft.
Wenn das FPM ist, dann:
a2disconf php7.2-fpm
a2enconf php7.4-fpm

Und danach ein Apache restart.
 
@madmax2010

ok sorry. ich dachte es geht auch mit weniger Infos. ich lese mich gerade erst in das Thema ein. Ich hab das Glück, dass ich vorher schön Snapshots machen kann :D (Unternehmensumfeld)

Es handelt sich um einen Ubuntu 18.04.6 LTS Server
Apache 2.4.29
Snipe IT Inventarmanagement

@kachiri

Was für Sachen? :D

@Spottdrossel
merci. das hat geholfen - mega

@Helge01
das gibt mir nur die Version auf dem Terminal aus. nicht aber aufm Apache dacht ich.

auf dem anderen Server haut er mir das um die Ohren

Code:
To activate the new configuration, you need to run:
  systemctl restart apache2
root@inventarmanagement:~# a2enmod php7.4
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.4:
Module php7.4 already enabled

Website spuckt folgendes aus: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0".
 
Zuletzt bearbeitet:
Mach mal eine Seite mit:
Code:
<?php phpinfo();

Im Apache hast du ein Mapping der sagt:
Wenn du eine Datei mit *.php findest dann mache HANDLERPHP

Hinter dem HANDLERPHP ist hinterlegt mit welchem Handler (CGI/FCGI/ModPHP) du das machst. In der Regel entscheidest du dich für ModPHP oder CGCI. FCGI hat Sicherheitsvorteile in kleinen Setupts tut auch ModPHP da einfacher.

Also schau mal welchen Handler du hast und was der macht.

Du kannst übrigends X-Handler haben. Einen für PHP5.4 einen für PHP7.2. Du hast dann in deiner jeweiligen VHost-Konfiguration das Mapping von *.php zum passenden Handler.
 
@Enigma

danke. aber bezieht sich das auf meinen ersten post oder das was er mir jetzt hinschmeißt?
 
Das ist die Architektur.

Im Apache musst du zunächst das MPM wählen, welches dir deine Worker bereitstellt.

Dann hast du das Modul-Backend welches dir eine API für dynamische Ausführung anbietet.

In der VHost Config verweist du dann auf das jeweilige Backend-Modul.

1665503523833.png


Wie willst du den Server denn Betreiben? FCGI oder ModPHP?
 
  • Gefällt mir
Reaktionen: RAMSoße
Enigma schrieb:
In der VHost Config verweist du dann auf das jeweilige Backend-Modul.
Nur wenn es unterschiedliche Module/Versionen gibt (und genutzt werden sollen). Was für 08/15 Nutzer irrelevant ist.
Enigma schrieb:
Wie willst du den Server denn Betreiben? FCGI oder ModPHP?
Eigentlich ist ja nur noch fpm (fcgi) empfehlenswert.

Apache und php(-fpm) schon mal neu gestartet @RAMSoße

RAMSoße schrieb:
Im Terminal habe ich PHP von 7.2 auf 7.4
Was hast du gemacht? apt install php7.4? Dann musst du auch noch alle lib mit installieren. zB:
Bash:
apt install php7.4-{mysql,cli,common,imap,ldap,xml,fpm,curl,mbstring,zip}
Empfehlenswert wäre die Anhebung auf 8.1! PHP 7.4 ist EOL (Natürlich vorher testen, ob die Page auch noch funktioniert, ist ja einiges von dem alten Frickelzeug entfernt worden)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: RAMSoße und snaxilian
@Enigma

Danke für deine Zeichnung. Nun kann ich mir etwas darunter vorstellen, wie was zusammenhängt. Da ich das System aber nur übernommen habe, weiß ich nicht wo diese vhost config zu finden ist. ich werde mal googeln.

FCGI sollte es sein. ich denke das ist mir schon einmal begegnet.

@joshim

fpm habe ich drauf.
Apache habe ich mit dem Befehl
Code:
systemctl restart apache2
gibt es einen extra Befehl für fpm?

php 7.4 ist vollständig drauf inkl. den extensions oder Modulen. Die brauche ich alle für ein Upgrade Prozess von Snipe-IT. 8.1 ist vorhanden aber nicht aktiviert, da SnipeIT dies nicht (wirklich) unterstützt. Laut github comments.
 
Problem gelöst
das hat geholfen.
danach mussten in der php.ini noch die extensions aktiviert werden

danke an alle
 
  • Gefällt mir
Reaktionen: joshim
Zurück
Oben