PHP 8.2 eigene 404-Seite

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

PHP 8.2 eigene 404-Seite

Post by frase » Mon Jan 16, 2023 12:22 pm

Ich bin ein wenig verunsichert.
XH 1.7.5 (original, nichts dazu)
PHP 8.2.0

Ich habe ein Seite „404“ angelegt.
Dann habe ich eine userfuncs.php (Anleitung) mit folgendem Inhalt angelegt:

Code: Select all

<?php
function custom_404() {
    header('Location: ?404');
    exit;
}
Rufe ich nun eine nicht vorhandene Seite auf, z.B.
example.com/?xxx
dann erscheint ein fataler Fehler:
Uncaught Error: Call to undefined function header() in … \cmsimple\userfuncs.php:3
Stack trace:
#0 … \cmsimple\functions.php(1075): custom_404()
#1 … \cmsimple\cms.php(1298): shead(404)
#2 … \index.php(6): include('D:\\xampp_820\\ht...')
#3 {main}
thrown in … \cmsimple\userfuncs.php on line 3
Was mache ich falsch?

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by cmb » Mon Jan 16, 2023 12:47 pm

frase wrote:
Mon Jan 16, 2023 12:22 pm
Uncaught Error: Call to undefined function header() in … \cmsimple\userfuncs.php:3
Hmm, da ist die header() Funktion nicht definiert. Kann eigentlich durch das php.ini Setting disable_functions verursacht werden; es sei denn, dass da eine spezielle Erweiterung wie uopz oder runkit im Spiel ist. Schau mal unter Einstellungen → Info → PHP-Info nach disable_functions.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by frase » Mon Jan 16, 2023 12:47 pm

Ha, ha, ha … Eigentor!
:mrgreen:

Der Fehler lag in den Einrückungs-Leerzeichen.
Ich hatte den Code aus dem WIKI kopiert und dort sind irgendwelche anderen Leerzeichen drin.
Mit korrekten (einfachen Leerzeichen), funktioniert wieder alles normal.
Da muss man erstmal drauf kommen.

Legt euch wieder hin. ;)

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by frase » Mon Jan 16, 2023 1:32 pm

Wenn ich mir das so durchdenke, dann komme ich darauf, dass wir das WIKI evtl. etwas umgestalten müssen.
Für die falschen Leerzeichen ist nämlich der Syntaxhighlighter verantwortlich.
Man kann also Code-Beispiele nicht so einfach aus dem WIKI kopieren, weil das u.U. zu besagtem Fehler führen kann.
Möglicherweise müssen wir auf den Syntaxhighlighter verzichten und einfache <code> oder <pre>-Tags verwenden.
Oder hat jemand eine Idee, wie man das sonst verhindern könnte (ich meine die Leerzeichenersetzung)?

olape
Posts: 2731
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by olape » Mon Jan 16, 2023 1:45 pm

frase wrote:
Mon Jan 16, 2023 1:32 pm
Oder hat jemand eine Idee,
Ich nicht
frase wrote:
Mon Jan 16, 2023 1:32 pm
und einfache <code> oder <pre>-Tags verwenden
Das wäre doch ok.
Es werden ja keine so umfangreichen Sachen auftauchen.
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by cmb » Mon Jan 16, 2023 1:55 pm

frase wrote:
Mon Jan 16, 2023 1:32 pm
Oder hat jemand eine Idee, wie man das sonst verhindern könnte (ich meine die Leerzeichenersetzung)?
Ja, nimm einen anderen Browser als Firefox. Mit dem IE wäre das nicht passiert. :P
frase wrote:
Mon Jan 16, 2023 1:32 pm
Möglicherweise müssen wir auf den Syntaxhighlighter verzichten und einfache <code> oder <pre>-Tags verwenden.
Mit dem Syntaxhighlighter_XH muss ich mir sowieso was einfallen lassen; da steht schon lange ein Update an, obgleich es wohl gar kein offizielles Release gibt.
olape wrote:
Mon Jan 16, 2023 1:45 pm
frase wrote:
Mon Jan 16, 2023 1:32 pm
und einfache <code> oder <pre>-Tags verwenden
Das wäre doch ok.
Es werden ja keine so umfangreichen Sachen auftauchen.
Zumindest fürs erste sollte das okay sein. Für PHP-Code könnte man auch highlight_string() nutzen, müssten dann aber die NBSPs durch normale ersetzen (str_replace()).
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by frase » Tue Jan 17, 2023 8:30 am

cmb wrote:
Mon Jan 16, 2023 1:55 pm
frase wrote:
Mon Jan 16, 2023 1:32 pm
Oder hat jemand eine Idee, wie man das sonst verhindern könnte (ich meine die Leerzeichenersetzung)?
Ja, nimm einen anderen Browser als Firefox. Mit dem IE wäre das nicht passiert. :P
Man glaubt es kaum, die eigenartige Leerzeichen-Ersetzung passiert tatsächlich nur im Firefox :(
Und genau, weil das so ist, und weil einen das schier zur Verzweiflung treiben kann, habe ich mich entschlossen, auf den Syntaxhighlighter zu verzichten. Schade.

@olape
WIKI
Beide Content-Dateien geändert.
Stylesheet geändert.
Syntaxhighlighter-Plugin könnte (vorläufig) deaktiviert werden.

olape
Posts: 2731
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by olape » Tue Jan 17, 2023 10:00 am

frase wrote:
Tue Jan 17, 2023 8:30 am
WIKI
Beide Content-Dateien geändert.
Stylesheet geändert.
Passt doch.
frase wrote:
Tue Jan 17, 2023 8:30 am
Syntaxhighlighter-Plugin könnte (vorläufig) deaktiviert werden.
ist
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

wolfgang_58
Posts: 402
Joined: Sun Jan 10, 2010 2:05 pm

Re: PHP 8.2 eigene 404-Seite

Post by wolfgang_58 » Wed Jan 18, 2023 5:57 pm

Hallo,
was mir aufgefallen ist, wenn man so eine Seite für sich selbst und seiner Domain erstellt, dann kann das auch innerhalb der Domain und den Aufrufen von Seitennamen passen, aber es hat nur Sinn, wenn in der Domain diese Seite irgendwann mal erstellt worden ist und gelöscht wurde, denn ansonsten kommt keine "persönliche" 404-Fehlermeldung, sondern ganz einfach eine vom Browser zurückgegebene Fehlerseite.
So eine Fehlerseite hat meiner Meinung keien Sinn für die Suche über Google oder Bing. Man "muss" schon auf der Seite bzw. URL sein und da eine falsche Seite aufrufen, ansonsten kommt eine allgemeine Fehlermeldung vom entsprechenden Browser.
Das ist meine Erfahrung ...
Vieleicht ist das auch falsch, aber ich bin eben dieser Meinung (nach vielen Versuchen mittels Hilfen aus dem Internet eine allgemein gültige Fehlerseite zu erstellen) oder mir fehlt das Wissen eines Profis (Webmaster) zu mir.

olape
Posts: 2731
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: PHP 8.2 eigene 404-Seite

Post by olape » Wed Jan 18, 2023 6:21 pm

wolfgang_58 wrote:
Wed Jan 18, 2023 5:57 pm
Hallo,
was mir aufgefallen ist, wenn man so eine Seite für sich selbst und seiner Domain erstellt, dann kann das auch innerhalb der Domain und den Aufrufen von Seitennamen passen, aber es hat nur Sinn, wenn in der Domain diese Seite irgendwann mal erstellt worden ist und gelöscht wurde, denn ansonsten kommt keine "persönliche" 404-Fehlermeldung, sondern ganz einfach eine vom Browser zurückgegebene Fehlerseite.
So eine Fehlerseite hat meiner Meinung keien Sinn für die Suche über Google oder Bing. Man "muss" schon auf der Seite bzw. URL sein und da eine falsche Seite aufrufen, ansonsten kommt eine allgemeine Fehlermeldung vom entsprechenden Browser.
Das ist meine Erfahrung ...
Vieleicht ist das auch falsch, aber ich bin eben dieser Meinung (nach vielen Versuchen mittels Hilfen aus dem Internet eine allgemein gültige Fehlerseite zu erstellen) oder mir fehlt das Wissen eines Profis (Webmaster) zu mir.
Ok, dröseln wir das mal etwas auf.

Diese Funktion nutzt in der Tat nur etwas, wenn eine nicht vorhandene Page nach dem Standard von XH aufgerufen wird. Also etwa www.domain.tld/?pagename (auch wenn es diese Page noch nie gab).
Sobald eine URL aufgerufen wird wie i.e. www.domain.tld/folder, oder www.domain.tld/pagename.htm, dann greift diese Funktion natürlich nicht, weil der Aufruf an XH vorbei geht.
Will man letztere beiden Aufrufe mit einer eigenen Fehlerseite beglücken, so funktioniert das in aller Regel nur mit entsprechenden Eintragungen in der .htaccess.
https://cmsimpleforum.com/viewtopic.ph ... t=Htaccess.

Die Fehlerseite selber ist so direkt für die Suchmaschinen auch total unwichtig, für die ist nur der korrekte Statuscode interessant, was in dem Fall dann 404 sein sollte.
Die Fehlerseite wird für den Besucher erstellt, um diesem den Fehler wenigsten „so angenehm wie möglich“ zu gestalten und vielleicht zusätzliche Informationen und/oder Hinweise zu liefern, …

Fehlerseiten wie 403, 404, 410 kommen nie vom Browser, immer vom Server.
Vom Browser kommen Meldungen wie Zertifikatsfehler oder Domain nicht erreichbar (DNS-Fehler, Timeout).
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

Post Reply