Ga naar hoofdinhoud
  Donderdag 07 september 2017
  1 Antwoorden
  2K bezoeken
  Inschrijven
Hallo,

we gebruiken WP Media Folder -plug-in v4.2.6.

Toen we vandaag op zoek gingen naar de reden voor een crash van onze productiewebsite, kwamen we de volgende regels PHP-code tegen in class-media-folder.php:

public function generatePageTree($datas, $parent = 0, $depth = 0, $limit = 0) {
if ($limit > 1000)
return '';
$tree = array();
for ($i = 0, $ni = count($datas); $i < $ni; $i++) {
if (!empty($datas[$i])) {
if ($datas[$i]->parent == $parent) {
$datas[$i]->name = $datas[$i]->name;
$datas[$i]->depth = $depth;
$tree[] = $datas[$i];
$t = $this->generatePageTree($datas, $datas[$i]->term_id, $depth + 1, $limit++);
$tree = array_merge($tree, $t);
}
}
}
return $tree;
}

Het gerapporteerde foutbericht in het toepassingslogboek was:

PHP Waarschuwing: array_merge(): Argument #2 is geen array in /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php op regel 1310
PHP Fatale fout: Niet-afgevangen TypeError: Argument 1 doorgegeven aan Wp_Media_Folder:: p arent_sort() moet van het type array zijn, null is opgegeven, aangeroepen in /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php op regel 470 en gedefinieerd in /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php:1327

Nadat de eerste regel van de bovenstaande functie was gewijzigd in "if ($limit > 1500)", werkte de website weer.

Kunt u uitleggen wat de reden is achter de limiet van 1000 recursieve aanroepen en hoe deze zo goed mogelijk kan worden vermeden of verhoogd (bijvoorbeeld zonder aanpassingen rechtstreeks in de plugincode)?

Met vriendelijke groet,
vipteam
EEN
8 jaar geleden
Hallo,

Bedankt dat u hier contact met ons opneemt over deze extensie.
Het spijt me, maar dit forum is alleen bedoeld voor vragen in de voorverkoop. Stuur ons voor alle technische verzoeken een ticket (menu Ondersteuning > Ticketondersteuning).
Onze verantwoordelijke ontwikkelaar zal daar naar kijken.

Groeten,
  • Bladzijde :
  • 1
Er zijn nog geen antwoorden op dit bericht.