[gelöst] testing Apache2 'lädt' kein php

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

[gelöst] testing Apache2 'lädt' kein php

Beitrag von Draal » 26.01.2023 13:48:49

Nun ist es mal wieder so weit und ich weiß, selber schuld. :roll:

Ein Apache2 läuft auf Debian Bookworm. Es ist mir bewusst, dass das zu Schwierigkeiten führen kann. Beim letzten Upgrade wurde php8.2 installiert und anschliessend beim dist-upgrade php8.1 deinstalliert. Alle Wordpress Instanzen funktionierten nicht mehr. Also Fummelei über Tage.

Mehrmals Deinstallation und Installation von php8.2. :roll:

Code: Alles auswählen

# php -v
PHP 8.2.1 (cli) (built: Jan  6 2023 15:12:40) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies

Code: Alles auswählen

apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running) since Thu 2023-01-26 13:11:12 CET; 25min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 10485 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
    Process: 10564 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 10491 (apache2)
      Tasks: 8 (limit: 4276)
     Memory: 13.4M
        CPU: 406ms
     CGroup: /system.slice/apache2.service
             ├─10491 /usr/sbin/apache2 -k start
             ├─10568 /usr/sbin/apache2 -k start
             ├─10569 /usr/sbin/apache2 -k start
             ├─10570 /usr/sbin/apache2 -k start
             ├─10571 /usr/sbin/apache2 -k start
             ├─10572 /usr/sbin/apache2 -k start
             ├─10573 /usr/sbin/apache2 -k start
             └─10576 /usr/sbin/apache2 -k start
Wenn ich

Code: Alles auswählen

a2enmod php8.2
setze startet der Apache mit einer Fehlermeldung nicht.
Weinn ich

Code: Alles auswählen

a2enconf php8.2-fpm
setze startet der Apache, allerdings sind alle Seiten beim Aufruf weis. Wenn man den Quelltext der Seiten aufruft kommt so etwas:

Code: Alles auswählen

<?PHP
phpinfo ();
?>
Wo kann ich noch ansetzen? Die error.log s des Apachen zeigen beim jeweiligen Aufruf der Seiten Fehlercode 200 an.

Und ja, man wird älter und ich werde bookworm im Sommer auf stable laufen lassen.
Zuletzt geändert von Draal am 27.01.2023 10:37:25, insgesamt 2-mal geändert.

uname
Beiträge: 12046
Registriert: 03.06.2008 09:33:02

Re: Apache2 'lädt' kein php

Beitrag von uname » 26.01.2023 13:51:37

Hast du denn alle notwendigen Pakete installiert. Was sagt:

Code: Alles auswählen

dpkg -l |grep php
dpkg -l |grep apache2

Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

Re: Apache2 'lädt' kein php

Beitrag von Draal » 26.01.2023 14:55:06

dpkg -l |grep php

nopaste

Code: Alles auswählen

# dpkg -l |grep apache2
ii  apache2                           2.4.55-1                                amd64        Apache HTTP Server
ii  apache2-bin                       2.4.55-1                                amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                      2.4.55-1                                all          Apache HTTP Server (common files)
ii  apache2-utils                     2.4.55-1                                amd64        Apache HTTP Server (utility programs for web servers)
ii  libapache2-mod-fcgid              1:2.3.9-4                               amd64        FastCGI interface module for Apache 2
rc  libapache2-mod-php7.3             7.3.15-3                                amd64        server-side, HTML-embedded scripting language (Apache 2 module)
rc  libapache2-mod-php7.4             7.4.26-1                                amd64        server-side, HTML-embedded scripting language (Apache 2 module)
rc  libapache2-mod-php8.1             8.1.12-1+b1                             amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-php8.2             8.2.1-1                                 amd64        server-side, HTML-embedded scripting language (Apache 2 module)

Benutzeravatar
debilian
Beiträge: 1162
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Apache2 'lädt' kein php

Beitrag von debilian » 26.01.2023 15:03:50

was sagt denn ein

Code: Alles auswählen

update-alternatives --config php
bei den vielen php-Paketen, die du installiert hast?

gruss
-- nichts bewegt Sie wie ein GNU --

Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

Re: Apache2 'lädt' kein php

Beitrag von Draal » 26.01.2023 15:07:14

Code: Alles auswählen

# update-alternatives --config php
Es gibt 1 Auswahlmöglichkeit für die Alternative php (welche /usr/bin/php bereitstellt).

  Auswahl      Pfad             Priorität Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        automatischer Modus
  1            /usr/bin/php8.2   82        manueller Modus

Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
oder geben Sie die Auswahlnummer ein: 

Benutzeravatar
debilian
Beiträge: 1162
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Apache2 'lädt' kein php

Beitrag von debilian » 26.01.2023 15:18:29

hier gabs schonmal sowas in der Art:

viewtopic.php?t=183743
-- nichts bewegt Sie wie ein GNU --

DeletedUserReAsG

Re: Apache2 'lädt' kein php

Beitrag von DeletedUserReAsG » 26.01.2023 17:06:20

Draal hat geschrieben: ↑ zum Beitrag ↑
26.01.2023 13:48:49
Wenn ich

Code: Alles auswählen

a2enmod php8.2
setze startet der Apache mit einer Fehlermeldung nicht.
Alten Legenden zufolge geben solche Fehlermeldungen Hinweise auf den Fehler. Manche Naturvölker sagen gar, dass es Glück bei der Fehlersuche brächte, wenn man sie in Forenbeiträgen zur Fehlersuche hinterlegen würde. Es gibt auch Anhänger der Theorie, dass Konstrukte namens „Logfiles“ helfen könnten, einem die Götter des Debugs gewogen zu machen.

Gut – wenn man nicht an sowas glaubt, klingt es erstmal völlig absurd – aber mir liegen glaubhafte Berichte vor, dass es geholfen hätte.

Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

Re: Apache2 'lädt' kein php

Beitrag von Draal » 26.01.2023 17:39:36

Code: Alles auswählen

# a2enmod php8.2
Considering dependency mpm_prefork for php8.2:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php8.2:
Enabling module php8.2.
To activate the new configuration, you need to run:
  systemctl restart apache2

Code: Alles auswählen

# systemctl restart apache2
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xeu apache2.service" for details.

Code: Alles auswählen

# systemctl status apache2
× apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Thu 2023-01-26 17:21:16 CET; 3min 34s ago
   Duration: 49min 17.097s
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 12227 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
        CPU: 28ms

Jan 26 17:21:16 host systemd[1]: Starting The Apache HTTP Server...
Jan 26 17:21:16 host apachectl[12231]: apache2: Syntax error on line 146 of /etc/apache2/apache2.c>
Jan 26 17:21:16 host apachectl[12227]: Action 'start' failed.
Jan 26 17:21:16 host apachectl[12227]: The Apache error log may have more information.
Jan 26 17:21:16 host systemd[1]: apache2.service: Control process exited, code=exited, status=1/FA>
Jan 26 17:21:16 host systemd[1]: apache2.service: Failed with result 'exit-code'.
Jan 26 17:21:16 host systemd[1]: Failed to start The Apache HTTP Server.
journalctl -xeu apache2

Code: Alles auswählen

░░ A start job for unit apache2.service has begun execution.
░░ 
░░ The job identifier is 11809.
Jan 26 17:21:16 host apachectl[12231]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.2.load: Can't locate API module structure `php8_module' in file /usr rror on line 3 of /etc/apache2/mods-enabled/php8.2.load: Can't locate API module structure `php8_module' in file /usr/lib/apache2/modules/libphp8.2.so: /usr/lib/apache2/modules/libphp8.2.so: undefined symbol: php8_module
Jan 26 17:21:16 host apachectl[12227]: Action 'start' failed.
Jan 26 17:21:16 host apachectl[12227]: The Apache error log may have more information.
Jan 26 17:21:16 host systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ An ExecStart= process belonging to unit apache2.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.
Jan 26 17:21:16 host systemd[1]: apache2.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit apache2.service has entered the 'failed' state with result 'exit-code'.
Jan 26 17:21:16 host systemd[1]: Failed to start The Apache HTTP Server.
░░ Subject: A start job for unit apache2.service has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A start job for unit apache2.service has finished with a failure.
░░ 
░░ The job identifier is 11809 and the job result is failed.

Code: Alles auswählen

# tail -f error.log
[Thu Jan 26 15:08:02.778052 2023] [mpm_prefork:notice] [pid 10491] AH00170: caught SIGWINCH, shutting down gracefully
[Thu Jan 26 15:08:03.123631 2023] [mpm_prefork:notice] [pid 11279] AH00163: Apache/2.4.55 (Debian) mod_fcgid/2.3.9 OpenSSL/3.0.7 configured -- resuming normal operations
[Thu Jan 26 15:08:03.123869 2023] [core:notice] [pid 11279] AH00094: Command line: '/usr/sbin/apache2'
[Thu Jan 26 15:08:38.242741 2023] [mpm_prefork:notice] [pid 11279] AH00170: caught SIGWINCH, shutting down gracefully
[Thu Jan 26 15:08:38.439349 2023] [mpm_prefork:notice] [pid 11300] AH00163: Apache/2.4.55 (Debian) mod_fcgid/2.3.9 OpenSSL/3.0.7 configured -- resuming normal operations
[Thu Jan 26 15:08:38.440683 2023] [core:notice] [pid 11300] AH00094: Command line: '/usr/sbin/apache2'
[Thu Jan 26 16:31:58.721271 2023] [mpm_prefork:notice] [pid 11300] AH00170: caught SIGWINCH, shutting down gracefully
[Thu Jan 26 16:31:59.022776 2023] [mpm_prefork:notice] [pid 11905] AH00163: Apache/2.4.55 (Debian) mod_fcgid/2.3.9 OpenSSL/3.0.7 configured -- resuming normal operations
[Thu Jan 26 16:31:59.023013 2023] [core:notice] [pid 11905] AH00094: Command line: '/usr/sbin/apache2'
[Thu Jan 26 17:21:16.586803 2023] [mpm_prefork:notice] [pid 11905] AH00169: caught SIGTERM, shutting down

ToterEngel
Beiträge: 75
Registriert: 12.06.2021 21:12:18

Re: Apache2 'lädt' kein php

Beitrag von ToterEngel » 26.01.2023 18:02:29

Der Hinweis ist ja recht gut ersichtlich:
apache2: Syntax error on line 146 of /etc/apache2/apache2.c

Also heißt es erstmal nach zusehen, was du dort stehen hast.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Apache2 'lädt' kein php

Beitrag von MSfree » 26.01.2023 18:12:31

ToterEngel hat geschrieben: ↑ zum Beitrag ↑
26.01.2023 18:02:29
Der Hinweis ist ja recht gut ersichtlich:
apache2: Syntax error on line 146 of /etc/apache2/apache2.c
Die Zeile ist noch viel länger, ich breche das mal um:

Code: Alles auswählen

Jan 26 17:21:16 host apachectl[12231]:
apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: 
Syntax error on line 3 of /etc/apache2/mods-enabled/php8.2.load:
Can't locate API module structure `php8_module' in file /usr rror on line 3 of /etc/apache2/mods-enabled/php8.2.load:
Can't locate API module structure `php8_module' in file /usr/lib/apache2/modules/libphp8.2.so:
/usr/lib/apache2/modules/libphp8.2.so: undefined symbol: php8_module

DeletedUserReAsG

Re: Apache2 'lädt' kein php

Beitrag von DeletedUserReAsG » 26.01.2023 18:22:54

Sieht nach ’nem Bug aus. Man könnte nun mal mit ›ldd /usr/lib/apache2/modules/libphp8.2.so‹ schauen, ob da was offensichtlich kaputt ist. Parallel dazu könnte man in der Mailingliste zu Testing schauen, ob da was bekannt ist, und auch mal die Bugreports überfliegen.

Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

Re: Apache2 'lädt' kein php

Beitrag von Draal » 26.01.2023 21:47:53

Code: Alles auswählen

# ldd /usr/lib/apache2/modules/libphp8.2.so
        linux-vdso.so.1 (0x00007ffebcda6000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcd1d3fc000)
        libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fcd1cc54000)
        libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007fcd1cbab000)
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fcd1c600000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fcd1cb11000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fcd1d3db000)
        libsodium.so.23 => /lib/x86_64-linux-gnu/libsodium.so.23 (0x00007fcd1d381000)
        libargon2.so.1 => /lib/x86_64-linux-gnu/libargon2.so.1 (0x00007fcd1d377000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcd1c41f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fcd1d4eb000)
        libicuuc.so.72 => /lib/x86_64-linux-gnu/libicuuc.so.72 (0x00007fcd1c221000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fcd1cae2000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcd1d370000)
        libicudata.so.72 => /lib/x86_64-linux-gnu/libicudata.so.72 (0x00007fcd1a400000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcd1a000000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcd1cac2000)
Da bin ich, offen gestanden, erheblich überfordert. :lol: :roll:

DeletedUserReAsG

Re: Apache2 'lädt' kein php

Beitrag von DeletedUserReAsG » 26.01.2023 22:50:02

Sieht zumindest für mich nicht offensichtlich kaputt aus. An dieser Stelle wär’s interessant, ob andere Testing-User den Fehler reproduzieren können. Vielleicht findet sich ja jemand – gegebenenfalls könntest du den Threadtitel dahingehend überarbeiten.

Benutzeravatar
oln
Beiträge: 483
Registriert: 05.01.2021 09:41:24

Re: Apache2 'lädt' kein php

Beitrag von oln » 27.01.2023 07:17:56

Moin,
hier ist wieder einmal zu sehen, wenn jemand etwas ohne Sinn und Verstand installiert.
Deine Probleme sind ein Mischmasch aus mod_php und php-fpm.
Du musst dich als erstes entscheiden, was du benutzen möchtest. Mod oder Fpm? Erst dann kann dir geholfen werden.
Beides geht nicht bzw. führt zu deinen Problemen.
Gruß Ole
AbuseIPDB

Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

Re: Apache2 'lädt' kein php

Beitrag von Draal » 27.01.2023 09:46:12

oln hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 07:17:56
Moin,
Moinmoin,
oln hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 07:17:56
hier ist wieder einmal zu sehen, wenn jemand etwas ohne Sinn und Verstand installiert.
bisher war ich der Meinung dass

Code: Alles auswählen

apt update; apt upgrade
schon Sinn machen. 8O
oln hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 07:17:56
Deine Probleme sind ein Mischmasch aus mod_php und php-fpm.
Du musst dich als erstes entscheiden, was du benutzen möchtest. Mod oder Fpm? Erst dann kann dir geholfen werden.
Beides geht nicht bzw. führt zu deinen Problemen.
Irgendwo hatte ich das hier mal gelesen. Mein Apache lief eigentlich immer auf fpm.

Heute morgen gab es wieder ein upgrade. Diese beiden Pakete wurden aktualisiert:

Code: Alles auswählen

php-imagick:amd64 (3.7.0-3, 3.7.0-4)
php8.2-imagick:amd64 (3.7.0-3, 3.7.0-4)
Im Anschluss noch:

Code: Alles auswählen

a2dismod php8.2
a2enconf php8.2-fpm
und der Apache läuft wieder mit php Unterstützung. :D

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Apache2 'lädt' kein php

Beitrag von MSfree » 27.01.2023 09:52:06

Draal hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 09:46:12
bisher war ich der Meinung dass

Code: Alles auswählen

apt update; apt upgrade
schon Sinn machen. 8O
Sinn kann man nicht "machen", der kann sich nur ergeben. *SCNR*

Ich würde aber empfehlen, grundsätzlich

Code: Alles auswählen

apt-get dist-upgrade
auszuführen anstelle des "kleinen" upgrades, erst recht, wenn man auf Testing unterwegs ist.

Benutzeravatar
oln
Beiträge: 483
Registriert: 05.01.2021 09:41:24

Re: Apache2 'lädt' kein php

Beitrag von oln » 27.01.2023 10:44:56

Draal hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 09:46:12

Code: Alles auswählen

php-imagick:amd64 (3.7.0-3, 3.7.0-4)
php8.2-imagick:amd64 (3.7.0-3, 3.7.0-4)
Im Anschluss noch:

Code: Alles auswählen

a2dismod php8.2
a2enconf php8.2-fpm
und der Apache läuft wieder mit php Unterstützung. :D
Diese Updates haben dein Problem nicht gelöst, sondern das aktivieren der Config von FPM.
Du solltest mod_php deinstallieren und purgen. Dann wird es in Zukunft nicht zu den Problemen kommen.
Gruß Ole
AbuseIPDB

DeletedUserReAsG

Re: [gelöst] testing Apache2 'lädt' kein php

Beitrag von DeletedUserReAsG » 27.01.2023 10:46:03

OT:
MSfree hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 09:52:06
Sinn kann man nicht "machen", der kann sich nur ergeben.
Ein scharfer Blick in ein gutes Wörterbuch wird dir offenbaren, dass „machen“ ein Synonym für „ergeben“ sein kann.

fischig
Beiträge: 3601
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] testing Apache2 'lädt' kein php

Beitrag von fischig » 27.01.2023 12:28:01

Tja, IT, Regeln, „lebende“ Sprache und nicht zuletzt Chomsky! Schwierig, schwierig! *SCNR* :P

Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

Re: Apache2 'lädt' kein php

Beitrag von Draal » 27.01.2023 13:01:36

oln hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 10:44:56
Diese Updates haben dein Problem nicht gelöst, sondern das aktivieren der Config von FPM.
Doch hat es. FPM war vor dem Problem auch aktiviert.

Benutzeravatar
oln
Beiträge: 483
Registriert: 05.01.2021 09:41:24

Re: Apache2 'lädt' kein php

Beitrag von oln » 27.01.2023 13:29:41

Draal hat geschrieben: ↑ zum Beitrag ↑
27.01.2023 13:01:36
Doch hat es. FPM war vor dem Problem auch aktiviert.
Das wiederspricht aber dem folgenden.
Draal hat geschrieben: ↑ zum Beitrag ↑
26.01.2023 13:48:49
Wenn ich

Code: Alles auswählen

a2enmod php8.2
setze startet der Apache mit einer Fehlermeldung nicht.
Hier versuchst du mod_php zu aktivieren.

PS: Image-Magic hat rein garnichts mit der Konfiguration des Apachen zu tun. Das sind nur Module von PHP.
Gruß Ole
AbuseIPDB

Benutzeravatar
Draal
Beiträge: 503
Registriert: 11.03.2005 14:45:26

Re: [gelöst] testing Apache2 'lädt' kein php

Beitrag von Draal » 27.01.2023 14:33:31

Tja, wenn etwas nicht funktioniert, dann versucht man jenes und dieses, schaltet dort ein und dort aus. Ich suche ein Problem zunächst bei mir selbst, bevor ich mich an andere wende.

Wie im Opener schon erwähnt, lief der Apache, aber offenbar php nicht. Die redirects auf https zeigten das und eine in fast ausschliesslichem html gehaltene Seite zeigten das.

Antworten