Support » Allgemeine Fragen » Code snippet mit PHP 8.0 funktioniert nicht

  • sonoptikon

    (@sonoptikon)


    Ich habe mal eine Webseite auf PHP 8.0 aktualisiert. Daraufhin bekam ich etliche Fehlermeldungen, die offensichtlich damit zusammenhingen, dass meine Code Snippets nicht mit PHP 8.0 kompatibel ist. Ein Fehler entsteht wohl wegen $args.
    Ich frage erst mal allgemein, vielleicht gibt es Erkenntnisse, hier erst mal ein Beispielcode, vielleicht sieht man hier schon den Fehler:

    /*	--------------------------------------------------------------------------------
    	Menüfunktionen
    	--------------------------------------------------------------------------------
    */
    function cc() {
    	exit();
    }
    add_shortcode ('snippet_cc','cc');
    
    /*	--------------------------------------------------------------------------------------------------------------
    	Ausgabe der Liste von Komponisten auf der Titelseite
    	-------------------------------------------------------------------------------------------------
    */
    function komponisten(){
    	$typ=$args['typ'];
    	$strip='<div><a href="https://partituren.sonoptikon.de/';
    	$br='<br>';
    	$tease='</a></div>';
    	$bildl=' <a href="http://partituren.sonoptikon.de/aufnahmen#bach'; // hier kompononist anfügen
    	$bildr='"<img src="http://partituren.sonoptikon.de/sound-png"/></a>';
    	$out='<p><span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"><strong>';
    	
    	$namen = array (
    		array ('anonymus','Anonymus (unbekannte KomponistInnen in allen Epochen)'),
    		array ('BR','A'),
    		array ('anna-amalia','Anna Amalia von Braunschweig-Wolfenbüttel (1739-1807)'),

    usw.

    • Dieses Thema wurde geändert vor 2 Jahren von sonoptikon.
Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • bscu

    (@bscu)

    Du weißt aber schon, dass das hier ein Forum für WordPress-Anwender und nicht für Programmierer ist?

    Daraufhin bekam ich etliche Fehlermeldungen

    Die du uns leider verschweigst.

    Ich würde auf PHP 8 noch verzichten, da manche Plugins damit noch Probleme haben.

    Moderator Bego Mario Garde

    (@pixolin)

    Wir können hier keine Gurndkenntnisse in PHP (und HTML, CSS, JavaScript, REACT usw.) vermitteln. Unvollständiger und aus dem Zusammenhang gerissener Code ist außerdem schwer zu beurteilen.

    Status des Thread auf „keine Support-Frage“ geändert.

    Moderator Michi91

    (@michi91)

    Verstehst du php im allgemeinen? $args existiert garnicht und trotzdem willst du drauf zugreifen?!

    Thread-Starter sonoptikon

    (@sonoptikon)

    Ja, es scheint so, dass 8.0 ganz einfach weniger fehlertolerant ist als 7.4. Interessant haben meine Codes unter 7.4. alle funktioniert, sogar in dem Fall, wo $args gar nicht im Funktionskopf vorhanden war.

    Es scheint jetzt auch so zu sein, dass immer dann ein Fehler auftritt, wenn ich eine Variable aufrufe, die nicht übergeben wurde.

    Ich muss also nach und nach alle Fehler abarbeiten, dann funktionierts

    • Diese Antwort wurde geändert vor 2 Jahren von sonoptikon.
    bscu

    (@bscu)

    Es scheint jetzt auch so zu sein, dass immer dann ein Fehler auftritt, wenn ich eine Variable aufrufe, die nicht übergeben wurde.

    Das war unter PHP 7.4 nicht anders. Vielleicht ist das Error-Reporting bei dir unter PHP 8 schärfer eingestellt als unter PHP 7.

    Thread-Starter sonoptikon

    (@sonoptikon)

    Esist jedenfalls klar, dass es nicht it snippet und WordPress zu tun hat,sondern lediglich mit Fehlertoleranz. Ich bin dran.

    Thread-Starter sonoptikon

    (@sonoptikon)

    Alles läuft wieder. Die kleine Welt ist in Ordnung, auch wenn die große aus den Fugen scheint.

    Nun habe ich die Ankündigung von WP 5.9., seit heute morgen mit einem blue screen, Luftballons und einem Sack voll Fehlermeldungen. An mir kann’s nicht liegen.

    Moderator Bego Mario Garde

    (@pixolin)

    Zu einem „Sack voll Fehlermeldungen“ lässt sich bis auf „och, schade“ wenig sagen.

    Mit „blue screen“ meinst du nicht den berüchtigten Blue Screen von Windows, sondern die Begrüßung bei WordPress 5.9? Aktuell ist 5.9.2, mit dem auch Sicherheitslücken geschlossen wurden.

    Thread-Starter sonoptikon

    (@sonoptikon)

    Nein nein, es ist eine blaue Fläche mit einer Menge Fehlermeldungen dahinter, ich meine natürlich die 5.9

    Um zusammenzufassen:
    Den Sack voll PHP-Fehlermeldungen habe ich nach und nach korrigiert, es waren ganz einfach fehlerhafte Anweisungen, die von 7.4 toleriert wurden,von 8.0 nicht.

    Aber nach dem missglückten Recovery habe ich jetzt diese blaue Fläche mit den WordPress-Fehlermeldungen, das habe ich aberin einem anderen Post noch geschrieben. Da sind auch die Fehlermeldungen reinkopiert.

    Ich habe die angeblich fehlerhafte Datei mit der gleichen Datei in einer intakten Anwendung verglichen, und die sind identisch,

    Moderator Bego Mario Garde

    (@pixolin)

    … es waren ganz einfach fehlerhafte Anweisungen, die von 7.4 toleriert wurden,von 8.0 nicht.

    Ich gehe eigentlich (wie @bscu) davon aus, dass PHP8 nicht weniger fehlertolerant ist. Allerdings bekommst du mit der neuen WordPress-Version auch Hinweise auf Programmierweisen, die veraltet sind und nicht mehr verwendet werden sollten, wenn WP_DEBUG auf true gesetzt wurde.

    … diese blaue Fläche mit den WordPress-Fehlermeldungen

    WordPress gibt eigentlich keine „blaue Fläche mit Fehlermeldungen“ aus.

    Ich habe die angeblich fehlerhafte Datei mit der gleichen Datei in einer intakten Anwendung verglichen, und die sind identisch,

    Wie sollen wir das aus der Ferne beurteilen können?

    Thread-Starter sonoptikon

    (@sonoptikon)

    Da hast du natürlich recht 🙁

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Das Thema „Code snippet mit PHP 8.0 funktioniert nicht“ ist für neue Antworten geschlossen.