Ana içeriğe geçin
  Perşembe, 07 Eylül 2017
  1 Cevaplar
  2K Ziyaret
  Abone
Merhaba,

WP Media Folder eklentisi v4.2.6'yı kullanıyoruz

Bugün üretim web sitemizin çökmesinin nedenini araştırırken class-media-folder.php dosyasında aşağıdaki PHP kod satırlarına rastladık:

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;
}

Uygulama günlüğünde bildirilen hata mesajı şuydu:

PHP Uyarısı: array_merge(): Argüman #2 bir dizi değil /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php dosyasında 1310. satırda
PHP Ölümcül hata: Yakalanmayan TypeError: Wp_Media_Folder dosyasına 1. argüman geçirildi::P arent_sort() dizi türünde olmalı, null verildi, /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php dosyasında 470. satırda çağrıldı ve /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php:1327 dosyasında tanımlandı

Yukarıdaki fonksiyonun ilk satırını "if ($limit > 1500)" olarak değiştirdikten sonra web sitesi tekrar çalışmaya başladı.

1000 yinelemeli çağrı sınırının arkasındaki nedeni ve bunun en iyi şekilde nasıl önlenebileceğini veya artırılabileceğini (örneğin eklenti kodunda doğrudan özel değişiklikler yapmadan) açıklayabilir misiniz?

Saygılarımla,
vipteam
A
8 yıl önce
Merhaba,

bu uzantı hakkında bizimle iletişime geçtiğiniz için teşekkür ederiz.
Üzgünüz, ancak bu forum yalnızca satış öncesi sorular içindir. Tüm teknik talepleriniz için lütfen bize bir destek talebi gönderin (Destek menüsü > Destek talebi).
Sorumlu geliştiricimiz bu konuyla ilgilenecektir.

Saygılarımızla,
  • Sayfa :
  • 1
Bu yazıya henüz yanıt verilmedi.