नमस्ते,
हम WP Media Folder प्लगइन v4.2.6 का उपयोग कर रहे हैं।
आज अपनी प्रोडक्शन वेबसाइट के क्रैश होने के कारण की खोज करते समय, हमें class-media-folder.php में 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;
}
अनुप्रयोग लॉग में रिपोर्ट किया गया त्रुटि संदेश था:
PHP चेतावनी: array_merge(): तर्क #2 /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php में पंक्ति 1310 पर एक सरणी नहीं है
PHP घातक त्रुटि: Uncaught TypeError: तर्क 1 Wp_Media_Folder को दिया गया:
arent_sort() सरणी प्रकार का होना चाहिए, शून्य दिया गया, /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php में पंक्ति 470 पर कॉल किया गया और /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php:1327 में परिभाषित किया गया
उपरोक्त फ़ंक्शन की पहली पंक्ति को "if ($limit > 1500)" में बदलने के बाद वेबसाइट ने फिर से काम करना शुरू कर दिया।
क्या आप कृपया बता सकते हैं कि 1000 रिकर्सिव कॉल की सीमा के पीछे क्या कारण है और इसे कैसे टाला जा सकता है या सर्वोत्तम संभव तरीके से बढ़ाया जा सकता है (जैसे प्लगइन कोड में सीधे कस्टम परिवर्तन किए बिना)?
सादर,
vipteam
हम WP Media Folder प्लगइन v4.2.6 का उपयोग कर रहे हैं।
आज अपनी प्रोडक्शन वेबसाइट के क्रैश होने के कारण की खोज करते समय, हमें class-media-folder.php में 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;
}
अनुप्रयोग लॉग में रिपोर्ट किया गया त्रुटि संदेश था:
PHP चेतावनी: array_merge(): तर्क #2 /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php में पंक्ति 1310 पर एक सरणी नहीं है
PHP घातक त्रुटि: Uncaught TypeError: तर्क 1 Wp_Media_Folder को दिया गया:
उपरोक्त फ़ंक्शन की पहली पंक्ति को "if ($limit > 1500)" में बदलने के बाद वेबसाइट ने फिर से काम करना शुरू कर दिया।
क्या आप कृपया बता सकते हैं कि 1000 रिकर्सिव कॉल की सीमा के पीछे क्या कारण है और इसे कैसे टाला जा सकता है या सर्वोत्तम संभव तरीके से बढ़ाया जा सकता है (जैसे प्लगइन कोड में सीधे कस्टम परिवर्तन किए बिना)?
सादर,
vipteam
- पृष्ठ :
- 1
इस पोस्ट के लिए अभी तक कोई उत्तर नहीं दिया गया है।
