Support » Plugin: Include Fussball.de Widgets » Fehlermeldung Typ E_ERROR (eventuell wegen leerer Variable?)

  • Resolved bkiehle

    (@bkiehle)


    Fehler-Details
    ==============
    Ein Fehler vom Typ E_ERROR wurde in der Zeile 41 der Datei /home/wp/disk/wordpress/wp-content/plugins/include-fussball-de-widgets/Utils/Host.php verursacht. Fehlermeldung: Uncaught TypeError: Argument 1 passed to IFDW\Utils\Host::cleanHost() must be of the type string, null given, called in /home/wp/disk/wordpress/wp-content/plugins/include-fussball-de-widgets/index.php on line 64 and defined in /home/wp/disk/wordpress/wp-content/plugins/include-fussball-de-widgets/Utils/Host.php:41
    Stack trace:
    #0 /home/wp/disk/wordpress/wp-content/plugins/include-fussball-de-widgets/index.php(64): IFDW\Utils\Host::cleanHost(NULL)
    #1 /home/wp/disk/wordpress/wp-settings.php(362): include_once(‘/home/wp/disk/w…’)
    #2 phar:///home/wp/rbsh/wp-cli.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1209): require(‘/home/wp/disk/w…’)
    #3 phar:///home/wp/rbsh/wp-cli.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1130): WP_CLI\Runner->load_wordpress()
    #4 phar:///home/wp/rbsh/wp-cli.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php(23): WP_CLI\Runner->start()
    #5 phar:///home/wp/rbsh/wp-cli.phar/vendor/wp-cli/wp-cli/php/bootstrap.php(74): WP_CLI\Bootstrap\LaunchRunner->process(Object(WP_CLI

    Könnt ihr da aushelfen?

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author Alex

    (@mheob)

    Hallo @bkiehle!

    Ohne einen Link zur betreffenden Seite oder zumindest Informationen zu Deinem Server-Setup (insbesondere die PHP-Version) kann ich leider nur raten.
    Ist es ein Test- oder ein Livesystem?
    Und könntest Du für mich eine phpinfo()-Ausgabe machen und mir, am einfachsten per pastebin.com oder ähnlichem, zur Verfügung stellen?

    Aber was ich auch so sehe erkennen kann, ist folgendes:
    An der Stelle wo der Fehler auftritt, wird $_SERVER['SERVER_NAME'] (also z.B. www.meine-bomain.de) erwartet. Bei Dir scheint diese Variable aber nicht gesetzt zu werden. Daher wäre für mich die phpinfo()-Ausgabe interessant.

    Lösungsansatz von php.net:

    ‘SERVER_NAME’
    […]
    Hinweis: Unter Apache 2 muss UseCanonicalName = On und ServerName gesetzt werden. Ansonsten reflektiert dieser Wert den Hostnamen, der vom Client gesendet wurde, und der vorgetäuscht werden kann. Es ist nicht sicher, sich in sicherheitsrelevanten Kontexten auf diesen Wert zu verlassen.

    Ich werde aber morgen auch versuchen einen Workaround bzw. Bugfix zu erstellen.
    Um den Fehler aber wirklich verstehen und beheben zu können wären mir die anfangs erwähnten Informationen aber sehr wichtig.

    Grüße,
    Alex

    • This reply was modified 6 months ago by Alex. Reason: Zitat umformatiert
    • This reply was modified 6 months ago by Alex.
    bkiehle

    (@bkiehle)

    Hallo @mheob,

    wir benutzen aktuell PHP 7.2. Die URL ist https://gw-wesel-flueren.de. Es handelt sich um ein Livesystem unserer Website für den Sportverein.

    Reichen folgende Informationen? Wenn nein, wo finde ich die erforderlichen?

    PHP-Version 7.2.22-1+ubuntu16.04.1+deb.sury.org+1 (Unterstützt 64bit-Werte)
    PHP-SAPI fpm-fcgi
    Maximale PHP-Eingabe-Variablen (max_input_vars) 10000
    Maximale PHP-Ausführungszeit (max_execution_time) 60
    PHP-Speicher-Limit (memory_limit) 512M
    Maximale Eingabe-Zeit (max_input_time) 60
    Maximale Dateigröße beim Upload (upload_max_filesize) 2000M
    Maximale Größe der PHP-Post-Daten (post_max_size) 2000M
    cURL-Version 7.47.0 OpenSSL/1.0.2g

    Liebe Grüße
    Björn

    Plugin Author Alex

    (@mheob)

    Hi @bkiehle,

    mmmh, mit der 7.2.22 sollte es keine Probleme geben. Ich vermute, dass bei Dir eine Servereinstellung anders ist, wie in meinem Testsystem. Live habe ich inzwischen alles auf 7.3 upgedatet.

    Eine neue Version mit einem Fix stelle ich morgen bereit. Ich weiß da schon wie ich den Error umgehen kann. Dennoch würde ich gerne wissen, wie ich den Fehler wirklich “sauber” abfangen kann. Daher interessiert mich in den PHP-Informationen der komplette Abschnitt mit den PHP-Variablen, insbesondere halt $_SERVER['SERVER_NAME'].

    Daher wäre es nett temporär eine Datei phpinfo.php anzulegen, wo ich mir die Sache mal anschauen könnte. Wie das einfach geht ist hier beschrieben: https://www.internetwerk.de/support/webhosting/php-info-datei-erstellen-und-konfiguration-anzeigen/ Einfach die Datei ins Rootverzeichnis legen (neben den Ordnern wp-admin, wp-content etc.).

    Grüße,
    Alex

    bkiehle

    (@bkiehle)

    Hi @mheob,

    kann ich dir das auch privat schicken? Ich würde ungern die phpinfo-Ausgabe im Netz haben..

    Liebe Grüße

    Plugin Author Alex

    (@mheob)

    Hi @bkiehle,

    ich brauche nur den Abschnitt mit den Variable. Wenn du also bedenken hast eine Info-Datei einen Tag online zu haben (was ich zum Teil nachvollziehen kann), kannst du mir den einzelnen Abschnitt ja kopieren und z.B. bei pastebin.com hinterlegen. Danach kannst du die Info-Datei sofort wieder löschen.

    Ansonsten kannst du mir den Link zu deiner Datei (dann würde ich sie aber evtl. irgendwie anders bennen) auch per Mail an ab__@__its-boehm__.__de senden (ohne die Unterstriche).

    Grüße,
    Alex

    bkiehle

    (@bkiehle)

    Ok danke dir, antwortest du dann wieder hier?

    Plugin Author Alex

    (@mheob)

    Hi @bkiehle,

    die Version 3.0.4 ist live und behebt den genannten PHP-Fehler.

    Jedoch vermute ich, dass die Daten von fussball.de bei dir nicht abgerufen werden können, da dafür die Verwendung $_SERVER['SERVER_NAME'] notwendig ist. Mit Hilfe dieser Variablen wird der fussball.de-Api mitgeteilt von welcher Domain aus die Anfrage erfolgt. Und diese liefert nur Daten, wenn der Website-Schlüssel und die Domain, mit denen von https://www.fussball.de/account.admin.widgets übereinstimmen.

    Ich hatte Dir dazu heute morgen auch noch eine E-Mail geschrieben wie Du mir weitere Informationen geben könntest, wenn Du die phpinfo-Ausgabe hier nicht veröffentlichen willst (was vollkommen in Ordnung ist).

    Grüße,
    Alex

    Plugin Author Alex

    (@mheob)

    Hi @bkiehle,

    erstmal zur Verständnis aller:
    Der Fehler tritt nur auf, wenn die Plugin-Seite des Hostingprovider aufgerufen wird. In dieser Ansicht werden alle installierten Plugins aufgelistet, getestet und könnten z.B. upgedated oder andersweitig administriert werden.

    Folgende Inforamtionen habe ich ja von dir bekommen:

    Der Aufruf des GUIs erfolgt über WPCLI. Ich denke, dass dabei einfach keine Variablen oder bestimmte Variablen nicht mitgeliefert werden können. Das bedeutet aber auch, dass der Fehler nur dabei auftritt und vielleicht einfach der leere Wert einer Variable abgefangen werden muss?

    Mein Plugin macht nach dem letzten Update genau das. Ist der Wert von $_SERVER['SERVER_NAME'] nicht gesetzt wird er von mir innerhalb der Funktion cleanHost( ?string $host ): string {} einfach mit SERVER_NAME-not-set ersetzt.

    Ich glaube hier fast – aber auch das ist nur geraten – dass entweder das Prüftool des Providers nicht auf “meine” minimale Anforderung von PHP 7.2 eingestellt ist oder die wp-cli noch Probleme mit den neueren PHP-Versionen hat.

    Leider muss ich aber sagen, dass ich nun nur noch mutmaßen kann. Aus meiner Sicht sollte auf jeden Fall der Ursprüngliche Fehler Uncaught TypeError: Argument 1 passed to IFDW\Utils\Host::cleanHost() must be of the type string, null given, called in /home/wp/disk/wordpress/wp-content/plugins/include-fussball-de-widgets/index.php on line 64 and defined in /home/wp/disk/wordpress/wp-content/plugins/include-fussball-de-widgets/Utils/Host.php:41 behoben sein. Außer es wird wie erwähnt beim Prüfen eine PHP-Version vor 7.1 genutzt.

    Grüße,
    Alex

    Hi @mheob,

    danke für deinen Support und das Prüfen der Variable! Schön, dass wir eine Lösung gefunden haben.

    Von mir aus kann der Issue geschlossen werden. Daher markiere ich diesen jetzt als gelöst.

    Vielen Dank!

    Liebe Grüße
    Björn

    Plugin Author Alex

    (@mheob)

    Top. Sehr gut! Es ist immer schön zu wissen geholfen zu haben.

    Grüße,
    Alex

    P.S. Aber auch hier, wie immer, mein abschließender Kommentar 😉
    Vielleicht möchtest Du mir ja bei Gelegenheit noch eine Bewertung da lassen 🙂
    Das freut immer wieder jeden Pluginentwickler.

    Hi Alex,
    muss mich nun leider doch nochmal melden. Habe mir nun ein Online-Account angelegt.

    Gleiches Bild. Zur Info http://lohaus-hemsloh.de/
    Gruß
    Bernd

Viewing 11 replies - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.