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:
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
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:
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
- Sayfa :
- 1
Bu yazıya henüz yanıt verilmedi.
