Xin chào,
Chúng tôi đang sử dụng plugin WP Media Folder
Khi tìm hiểu lý do khiến website hôm nay, chúng tôi đã tìm thấy những dòng mã php sau trong 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;
}
Thông báo lỗi được báo cáo trong nhật ký ứng dụng là:
Cảnh báo PHP: array_merge(): Đối số #2 không phải là một mảng trong /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php ở dòng 1310
Lỗi nghiêm trọng của PHP: Lỗi loại chưa được phát hiện: Đối số 1 được truyền cho Wp_Media_Folder:
arent_sort() phải thuộc loại mảng, giá trị null được cung cấp, được gọi trong /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php ở dòng 470 và được định nghĩa trong /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php:1327
Sau khi thay đổi dòng đầu tiên của hàm trên thành "if ($limit > 1500)" website bắt đầu hoạt động trở lại.
Bạn có thể giải thích lý do tại sao lại giới hạn 1000 lệnh gọi đệ quy và cách tránh hoặc tăng giới hạn này theo cách tốt nhất có thể (ví dụ: không cần thay đổi tùy chỉnh trực tiếp trong mã plugin) không?
Trân trọng,
vipteam
Chúng tôi đang sử dụng plugin WP Media Folder
Khi tìm hiểu lý do khiến website hôm nay, chúng tôi đã tìm thấy những dòng mã php sau trong 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;
}
Thông báo lỗi được báo cáo trong nhật ký ứng dụng là:
Cảnh báo PHP: array_merge(): Đối số #2 không phải là một mảng trong /var/www/html/wp-content/plugins/wp-media-folder/class/class-media-folder.php ở dòng 1310
Lỗi nghiêm trọng của PHP: Lỗi loại chưa được phát hiện: Đối số 1 được truyền cho Wp_Media_Folder:
Sau khi thay đổi dòng đầu tiên của hàm trên thành "if ($limit > 1500)" website bắt đầu hoạt động trở lại.
Bạn có thể giải thích lý do tại sao lại giới hạn 1000 lệnh gọi đệ quy và cách tránh hoặc tăng giới hạn này theo cách tốt nhất có thể (ví dụ: không cần thay đổi tùy chỉnh trực tiếp trong mã plugin) không?
Trân trọng,
vipteam
- Trang :
- 1
Không có câu trả lời nào được thực hiện cho bài đăng này.
