Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
Google SEO
Hallöchen,

ich bekomme nach Umstellung von PHP 7.4 auf 8.2 folgende Warnungen vom redirect und würde die gerne mit Eurer Hilfe eliminieren. Installiert habe ich die Version 1.8.6 mit der nachträglich korrigierten "post -" plugin.php von github.

Ich habe dabei im Plugin die Einstellung Debug Redirect auf No. Stelle ich auf Yes, kommen die nicht mehr. Ist auch seltsam. Eigentlich müsste es nach meinem Verständnis anders rum sein ;-) (bzw. lt. Beschreibung sollte mehr kommen - please enable this option to obtain more information about what is going wrong with your redirect)

Zitat:Type: 2
File: inc/plugins/google_seo/redirect.php (Line no. 315) Message Undefined array key 1 Back Trace: #0 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 315)
#1 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(153): errorHandler->error(2, '...', '...', 315)
#2 /mnt/web016/e3/82/56775182/htdocs/cef/inc/plugins/google_seo/redirect.php(315): errorHandler->error_callback(2, '...', '...', 315)
#3 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_plugins.php(142): google_seo_redirect_hook('')
#4 /mnt/web016/e3/82/56775182/htdocs/cef/global.php(100): pluginSystem->run_hooks(Array)
#5 /mnt/web016/e3/82/56775182/htdocs/cef/showthread.php(28): require_once('...')

Type: 2
File: inc/plugins/google_seo/redirect.php (Line no. 327) Message Undefined array key ""
Back Trace: #0 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 327)
#1 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(153): errorHandler->error(2, '...', '...', 327)
#2 /mnt/web016/e3/82/56775182/htdocs/cef/inc/plugins/google_seo/redirect.php(327): errorHandler->error_callback(2, '...', '...', 327)
#3 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_plugins.php(142): google_seo_redirect_hook('')
#4 /mnt/web016/e3/82/56775182/htdocs/cef/global.php(100): pluginSystem->run_hooks(Array)
#5 /mnt/web016/e3/82/56775182/htdocs/cef/showthread.php(28): require_once('...')

Type: 2
File: inc/plugins/google_seo/redirect.php (Line no. 314) Message Undefined array key 1 Back Trace: #0 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 314)
#1 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(153): errorHandler->error(2, '...', '...', 314)
#2 /mnt/web016/e3/82/56775182/htdocs/cef/inc/plugins/google_seo/redirect.php(314): errorHandler->error_callback(2, '...', '...', 314)
#3 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_plugins.php(142): google_seo_redirect_hook('')
#4 /mnt/web016/e3/82/56775182/htdocs/cef/global.php(100): pluginSystem->run_hooks(Array)
#5 /mnt/web016/e3/82/56775182/htdocs/cef/showthread.php(28): require_once('...')

Type: 2
File: inc/plugins/google_seo/redirect.php (Line no. 313) Message Undefined array key 1 Back Trace: #0 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 313)
#1 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(153): errorHandler->error(2, '...', '...', 313)
#2 /mnt/web016/e3/82/56775182/htdocs/cef/inc/plugins/google_seo/redirect.php(313): errorHandler->error_callback(2, '...', '...', 313)
#3 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_plugins.php(142): google_seo_redirect_hook('')
#4 /mnt/web016/e3/82/56775182/htdocs/cef/global.php(100): pluginSystem->run_hooks(Array)
#5 /mnt/web016/e3/82/56775182/htdocs/cef/showthread.php(28): require_once('...')

Type: 2
File: inc/plugins/google_seo/redirect.php (Line no. 312) Message Undefined array key 1 Back Trace: #0 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 312)
#1 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(153): errorHandler->error(2, '...', '...', 312)
#2 /mnt/web016/e3/82/56775182/htdocs/cef/inc/plugins/google_seo/redirect.php(312): errorHandler->error_callback(2, '...', '...', 312)
#3 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_plugins.php(142): google_seo_redirect_hook('')
#4 /mnt/web016/e3/82/56775182/htdocs/cef/global.php(100): pluginSystem->run_hooks(Array)
#5 /mnt/web016/e3/82/56775182/htdocs/cef/showthread.php(28): require_once('...')

Type: 2
File: inc/plugins/google_seo/redirect.php (Line no. 304) Message Undefined array key 1 Back Trace: #0 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 304)
#1 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(153): errorHandler->error(2, '...', '...', 304)
#2 /mnt/web016/e3/82/56775182/htdocs/cef/inc/plugins/google_seo/redirect.php(304): errorHandler->error_callback(2, '...', '...', 304)
#3 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_plugins.php(142): google_seo_redirect_hook('')
#4 /mnt/web016/e3/82/56775182/htdocs/cef/global.php(100): pluginSystem->run_hooks(Array)
#5 /mnt/web016/e3/82/56775182/htdocs/cef/showthread.php(28): require_once('...')

Type: 2
File: inc/plugins/google_seo/redirect.php (Line no. 301) Message Undefined array key 1 Back Trace: #0 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 301)
#1 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_error.php(153): errorHandler->error(2, '...', '...', 301)
#2 /mnt/web016/e3/82/56775182/htdocs/cef/inc/plugins/google_seo/redirect.php(301): errorHandler->error_callback(2, '...', '...', 301)
#3 /mnt/web016/e3/82/56775182/htdocs/cef/inc/class_plugins.php(142): google_seo_redirect_hook('')
#4 /mnt/web016/e3/82/56775182/htdocs/cef/global.php(100): pluginSystem->run_hooks(Array)
#5 /mnt/web016/e3/82/56775182/htdocs/cef/showthread.php(28): require_once('...')
PHP Version         8.2.22    (Test: 8.2.22)
MySQLi Version   5.7.42    (Test: 8.0.36)
Mybb Version      1.8.38    (Test: 1.8.38)
(Stand 09/2024)

Grüße, André
Zitieren
Hallöchen,

ich habe nun das Plugin in einem ansonsten pluginfreien Forum und bis auf die eingestellten Warnmeldungen im Browser und per Mail unveränderten Forum zum Test installiert.

Die Fehler mit redirect habe ich hier nicht.

Außer Google SEO (Updated for PHP 8) (1.8.6-postrelease) ist nur die angepasste Version der pluginlibrary von github hochgeladen. Zusätzlich habe ich von github die plugin.php von vor 4 Monaten. 

Die Einzeldateien von vor 7 Monaten hab ich nicht genommen, weil die postrelease-Version ja von vor 6 Monaten ist. Ich weiß nun nicht, ob es Sinn macht, die älteren Daten von vor 7 Monaten zu verwenden :-( Ich habe z.B. mal die beiden sitemap.php verglichen, da sind Unterschiede in den Zeilen 495 und 514

495
Im Paket 
$type = $mybb->get_input('google_seo_sitemap');
Einzeldatei
$type = $mybb->input['google_seo_sitemap'];

514
Im Paket 
$page = $mybb->get_input('page', MyBB::INPUT_INT);
Einzeldatei
$page = (int)$mybb->input['page'];


Bei der Installation und Einrichtung habe ich die .htaccess mit den vorgeschlagenen Eintragungen erzeugt.

Bei der Erzeugung / Aktualisierung der sitemap-index.xml erhalte ich per Mail folgende Meldungen

Zitat:Type: 2
File: inc/plugins/google_seo/sitemap.php (Line no. 97) Message Undefined array key "lastmod"
Back Trace: #0 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 97)
#1 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(153): errorHandler->error(2, '...', '...', 97)
#2 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(97): errorHandler->error_callback(2, '...', '...', 97)
#3 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(475): google_seo_sitemap('...', Array)
#4 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(519): google_seo_sitemap_index('...', 0, 1000)
#5 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_plugins.php(142): google_seo_sitemap_hook('')
#6 /mnt/web517/b0/96/554939996/htdocs/cef-test/misc.php(27): pluginSystem->run_hooks(Array)
Type: 2
File: inc/plugins/google_seo/sitemap.php (Line no. 104) Message Undefined array key "changefreq"
Back Trace: #0 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 104)
#1 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(153): errorHandler->error(2, '...', '...', 104)
#2 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(104): errorHandler->error_callback(2, '...', '...', 104)
#3 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(475): google_seo_sitemap('...', Array)
#4 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(519): google_seo_sitemap_index('...', 0, 1000)
#5 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_plugins.php(142): google_seo_sitemap_hook('')
#6 /mnt/web517/b0/96/554939996/htdocs/cef-test/misc.php(27): pluginSystem->run_hooks(Array)
Type: 2
File: inc/plugins/google_seo/sitemap.php (Line no. 110) Message Undefined array key "priority"
Back Trace: #0 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 110)
#1 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(153): errorHandler->error(2, '...', '...', 110)
#2 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(110): errorHandler->error_callback(2, '...', '...', 110)
#3 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(475): google_seo_sitemap('...', Array)
#4 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(519): google_seo_sitemap_index('...', 0, 1000)
#5 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_plugins.php(142): google_seo_sitemap_hook('')
#6 /mnt/web517/b0/96/554939996/htdocs/cef-test/misc.php(27): pluginSystem->run_hooks(Array)
Type: 2
File: inc/plugins/google_seo/sitemap.php (Line no. 341) Message Undefined variable $items Back Trace: #0 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 341)
#1 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(153): errorHandler->error(2, '...', '...', 341)
#2 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(341): errorHandler->error_callback(2, '...', '...', 341)
#3 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(460): google_seo_sitemap_gen('...', '...', 0, 1000)
#4 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(519): google_seo_sitemap_index('...', 0, 1000)
#5 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_plugins.php(142): google_seo_sitemap_hook('')
#6 /mnt/web517/b0/96/554939996/htdocs/cef-test/misc.php(27): pluginSystem->run_hooks(Array)


Die Fehlerzeilen kommen aus der 
function google_seo_sitemap($tag, $items)
und enthalten folgende Codes

--> Abfrage von $items, z.B. 
     if($item['lastmod'] > 10000000)

und aus der function google_seo_sitemap_gen($scheme, $type, $page, $pagination)
--> in 341 ein
      return $items;
PHP Version         8.2.22    (Test: 8.2.22)
MySQLi Version   5.7.42    (Test: 8.0.36)
Mybb Version      1.8.38    (Test: 1.8.38)
(Stand 09/2024)

Grüße, André
Zitieren
Hallöchen,

ich habe jetzt mal per code die Fehler unterdrückt, also z.B.
PHP-Code:
if (array_key_exists('lastmod'$item)) 
{
    if(
$item['lastmod'] > 10000000)
    {
       $lastmod gmdate('Y-m-d\TH:i\Z'$item['lastmod']);
       $output[] = "    <lastmod>$lastmod</lastmod>";
    }


und für die beiden anderen keys entsprechend. Ich bin mir da allerdings nicht sicher, ob das andere Probleme nach sich zieht. 

Jedenfalls läuft damit schon mal der Aufruf der sitemap-index.xml ohne Warnungen.

Nächster Schritt:  sitemap-forums.xml?page=1

Hier bekomme ich diese Warnungen:

Zitat:Type: 2
File: inc/plugins/google_seo/sitemap.php (Line no. 354) Message Undefined variable $pagescount Back Trace: #0 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 354)
#1 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(153): errorHandler->error(2, '...', '...', 354)
#2 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(354): errorHandler->error_callback(2, '...', '...', 354)
#3 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(535): google_seo_sitemap_gen('...', '...', 1, 1000)
#4 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_plugins.php(142): google_seo_sitemap_hook('')
#5 /mnt/web517/b0/96/554939996/htdocs/cef-test/misc.php(27): pluginSystem->run_hooks(Array)
Type: 2
File: inc/plugins/google_seo/sitemap.php (Line no. 364) Message Undefined variable $pagescount Back Trace: #0 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(239): errorHandler->email_error(2, '...', '...', 364)
#1 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_error.php(153): errorHandler->error(2, '...', '...', 364)
#2 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(364): errorHandler->error_callback(2, '...', '...', 364)
#3 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/plugins/google_seo/sitemap.php(535): google_seo_sitemap_gen('...', '...', 1, 1000)
#4 /mnt/web517/b0/96/554939996/htdocs/cef-test/inc/class_plugins.php(142): google_seo_sitemap_hook('')
#5 /mnt/web517/b0/96/554939996/htdocs/cef-test/misc.php(27): pluginSystem->run_hooks(Array)

Schauen wir mal ....
PHP Version         8.2.22    (Test: 8.2.22)
MySQLi Version   5.7.42    (Test: 8.0.36)
Mybb Version      1.8.38    (Test: 1.8.38)
(Stand 09/2024)

Grüße, André
Zitieren
"undefined variable" ist eigentlich meist recht einfach zu lösen --> man stelle dem Script die Variable vor, ehe es sich drüber aufregt, dass sie da und undefined ist Wink

$pagescount ist wohl ziemlich eindeutig ein Zahlenwert, also müssen wir irgendwo vorher, ehe es zur kritisierten Zeile kommt, PHP8 diese Variable in aller Höflichkeit vorstellen
$pagesscount=0;

aber Vorsicht, nicht alle Variablen sind Werte, manche sind auch Strings oder Arrays, in dem Fall dann eben entsprechend anders vorstellen
$variable="";
$variable2=array();
Kein Support per PN, Mail, Telefon, Hausbesuch, Discord, Telegram, WhatsApp und anderen nutzlosen Tools
Zitieren
Hallöchen,

dankeschön, habe es auch gerade gelöst und die Variable in Zeile 158 eingefügt und mit einem Leerstring belegt:
$pagescount = '';

(vor switch($type) )

Der Variablen wird an zwei Stellen ein String zugewiesen, gibt aber noch eine Reihe mehr Cases ohne diesbezügliche Zuweisung. Später - in Zeile 354 - wird sie in einem query benötigt. Deswegen hab ich sie weit oben gesetzt, bevor die ganzen Fälle ausgewertet werden.

Im Anhang hab ich mal die geänderte sitemap.php.

Das Redirect - Thema könnte noch vorhanden sein. Aber da das Debugging und die wohl nur daraus hervorgehenden Warnungen eine eigene Einstellung im googleso ist, schiebe ich das erst mal nach hinten. Ich möchte halt' die Warnungen nicht generell abschalten. Unter PHP 7.4.x kam in der Regel wenig im Monat.   

Ich habe ca. 17 Plugins im Einsatz und bin jetzt bei meinen "Einzeltests" bei der Hälfte.  :-)

.zip   sitemap.zip (Größe: 4,28 KB / Downloads: 0)
PHP Version         8.2.22    (Test: 8.2.22)
MySQLi Version   5.7.42    (Test: 8.0.36)
Mybb Version      1.8.38    (Test: 1.8.38)
(Stand 09/2024)

Grüße, André
Zitieren
naja, die beiden ersten male wird die Variable ja definiert und eben als String belegt

aber so pingelig ist PHP8 dann auch noch nicht, Hauptsache, sie wurde vorgestellt Wink
Kein Support per PN, Mail, Telefon, Hausbesuch, Discord, Telegram, WhatsApp und anderen nutzlosen Tools
Zitieren
die Funktion google_seo_sitemap_gen wird öfter aufgerufen:

- in der google_seo_sitemap_index in einer Schleife
- in der google_seo_sitemap_hook einmalig

Ich kann mir jetzt erst mal nur vorstellen, dass bei einem Aufruf $type leer ist oder etwas unzutreffendes enthält und deswegen bei den cases kein Treffer erfolgt. Entsprechend wird die Variable pagescount  nicht definiert und belegt :-(
Deswegen gibt es dann bei dem query die Warnungen. Die xml - Seiten werden dann bei den weiteren Durchläufen erzeugt.

Es könnte aber auch in anderen Fällen klemmen. Die Schleife in google_seo_sitemap_index  wird so gestartet:
foreach(array("forums", "threads", "users", "announcements",
                  "calendars", "events") as $type)

pagescount wird nur bei forums und threads gesetzt. Das query verlangt aber in jedem Fall die Variable. Für den ungewöhnlichen Fall, dass ich Pages und Threads abgewählt hätte, wäre die Variable ebenfalls nicht belegt.
PHP Version         8.2.22    (Test: 8.2.22)
MySQLi Version   5.7.42    (Test: 8.0.36)
Mybb Version      1.8.38    (Test: 1.8.38)
(Stand 09/2024)

Grüße, André
Zitieren
Hallöchen,

zu den massigen redirect-Fehlern hab ich zumindest ein Plugin als Verursacher.
threadsolved / Thread als erledigt markieren erzeugt mir bei jedem Klick auf den Button ca. 6 Meldungen aus dem Plugin redirect.
PHP Version         8.2.22    (Test: 8.2.22)
MySQLi Version   5.7.42    (Test: 8.0.36)
Mybb Version      1.8.38    (Test: 1.8.38)
(Stand 09/2024)

Grüße, André
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Google SEO (Updated for PHP 8) MyBB.de Bot 0 352 11.02.2024, 09:20
Letzter Beitrag: MyBB.de Bot
  Facebook, Google, Twitter, SEO Metatags MyBB.de Bot 0 1.036 29.11.2019, 17:10
Letzter Beitrag: MyBB.de Bot
  Google SEO MyBB.de Bot 418 108.578 25.02.2016, 11:37
Letzter Beitrag: StefanT
  Google SEO Legacy MyBB.de Bot 0 1.816 10.08.2011, 18:08
Letzter Beitrag: MyBB.de Bot