เมื่อเว็บไซต์ WordPress กำลังอัปเดตโปรแกรมหลักของระบบ ธีมพื้นหลัง หรือปลั๊กอิน ข้อความ "เว็บไซต์นี้มีปัญหาใหญ่" จะปรากฏขึ้นเป็นครั้งคราว ทำให้เว็บไซต์ไม่สามารถดำเนินการได้ตามปกติ และบางครั้งแม้แต่แบ็กเอนด์ก็ไม่สามารถเข้าสู่ระบบได้ เว็บมาสเตอร์มือใหม่อาจพบว่ามันค่อนข้างน่ากลัว ในขณะนี้ คุณสามารถเริ่มระบบดีบัก WordPress ในตัว (Debug Systems) เพื่อทำความเข้าใจว่าปัญหาเกิดขึ้นที่ใดและแก้ไขได้
การแนะนำเบื้องต้นเกี่ยวกับโหมดดีบักการดีบัก📂
Debug Systems เป็นระบบการดีบักในตัวสำหรับ WordPress ซึ่งบันทึกข้อผิดพลาดของระบบในไฟล์ข้อความ debug.log เพื่อช่วยให้ผู้ดูแลเว็บตรวจสอบปัญหาทีละรายการ ซึ่งมักจะไม่เข้ากันระหว่างโปรแกรมหลักของระบบ ธีม และปลั๊กอิน แต่ระบบดีบักซึ่งถูกปิดใช้งานโดยค่าเริ่มต้นจะต้องเปิดใช้งานเพื่อดีบักระบบ
มีปัญหาสำคัญกับไซต์นี้โปรดตรวจสอบกล่องจดหมายอีเมลของผู้ดูแลเว็บเพื่อดูคำแนะนำ
ขั้นตอนการเริ่มต้นโหมดดีบัก
ขั้นตอนที่ XNUMX: ค้นหาไฟล์การกำหนดค่า wp-config.php
ในโฟลเดอร์การติดตั้ง WordPress/public_html ให้มองหาไฟล์การกำหนดค่าหลักของ WordPress ชื่อ "wp-config.php" และค้นหาบรรทัดของการตั้งค่า "define('WP_DEBUG', false);" ซึ่งระบุว่าโหมดดีบักเริ่มต้นไม่ใช่ เปิดใช้งาน
define('WP_DEBUG', false);
ขั้นตอนที่ XNUMX: แก้ไข WP_DEBUG เพื่อเริ่มสถานะ
แก้ไขการตั้งค่าการกำหนดค่าของ wp-config.php เปลี่ยน "define('WP_DEBUG', false);" เดิมเป็นค่าการตั้งค่าอย่างเป็นทางการ ตั้งค่าโหมดดีบักการเริ่มต้น บันทึกข้อความแสดงข้อผิดพลาด และหยุดแสดงหน้าจอคำเตือนก่อน
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );
ขั้นตอนที่ XNUMX: ตรวจสอบบันทึกข้อผิดพลาดของ debug.log
ในโฟลเดอร์การติดตั้ง WordPress public_html/wp-content ให้มองหาไฟล์ข้อความชื่อ "debug.log" เปิดไฟล์ข้อความและตรวจสอบข้อความแสดงข้อผิดพลาดทีละรายการ โดยปกติธีมและปลั๊กอินจะทำให้เกิดข้อผิดพลาดในการดำเนินการ PHP
[12-Aug-2022 14:01:51 UTC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)
กรณีการแก้ปัญหาของโหมดดีบัก
"ปัญหาหลักของเว็บไซต์นี้" เกิดขึ้นในครั้งนี้ สาเหตุหลักมาจากการเปลี่ยนจากตัวแก้ไขดั้งเดิมไปเป็นตัวแก้ไขบล็อก บ่อยครั้งเมื่อเปิดหรือเพิ่มบทความ หน้าจอแสดงข้อผิดพลาดจะปรากฏขึ้น ซึ่งมักจะแก้ไขได้หลังจากรีเฟรชหน้า , แต่ปัญหาเดียวกันมักเกิดขึ้น
หลังจากเริ่มโหมดแก้ไขข้อบกพร่องเมื่อเกิดปัญหาเดิมขึ้นอีกครั้งให้ตรวจสอบเนื้อหาของ debug.log ทันทีและข้อความ "PHP Fatal error: Allowed memory size of 268435456 bytes exhausted" ปรากฏขึ้น กลายเป็นปัญหาหน่วยความจำเมื่อ การเขียนบทความโดยใช้ block editor ปัญหาความไม่เพียงพอ
เพราะใช้Cloudwaysสะดวกมากในการเพิ่มขีด จำกัด สูงสุดของหน่วยความจำที่ PHP ต้องการ "การตั้งค่าและแพ็คเกจ" ของเซิร์ฟเวอร์ขั้นสูง (เซิร์ฟเวอร์) ถูกตั้งค่าเป็นหน้าและค่าเริ่มต้นของ "ขีด จำกัด หน่วยความจำ" คือ 256MB ซึ่งดูเหมือน ให้เพียงพอและไม่ต้องปรับ
แล้วป้อนCloudwaysในหน้าจอการตั้งค่าแอปพลิเคชัน ให้เลือกตัวเลือก "การตั้งค่า PHP FPM" ในหน้าการตั้งค่า "การตั้งค่าแอปพลิเคชัน" ค่าเริ่มต้นคือ [memory_limit] = 32M หลังจากเพิ่มเป็น 64M แล้ว ให้ตรวจสอบว่าเพียงพอหรือไม่
;php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M
;php_admin_value[max_execution_time] = 120
;php_admin_value[date.timezone] = Asia/Taipei
นอกจากนี้ยังสามารถปรับเปลี่ยนได้โดยตรงphp.ini
โปรไฟล์ ตั้งค่าขีดจำกัดหน่วยความจำของเซิร์ฟเวอร์ทั้งหมด หรือปรับwp-config.php
ไฟล์กำหนดค่าเพื่อปรับขีดจำกัดหน่วยความจำสำหรับเว็บไซต์เดียว
// 設定一般網頁的記憶體上限
define( 'WP_MEMORY_LIMIT', '128M' );
// 設定管理後台的記憶體上限
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
ถ้าแก้ไขphp.ini或wp-config.php
หากคุณไม่สามารถเปลี่ยนการตั้งค่าได้ คุณต้องแก้ไขค่าการกำหนดค่า PHP โดยตรง มองหา default-constants.php ในพาธ /public_html/wp-includes และแก้ไขขีดจำกัดหน่วยความจำเริ่มต้น
// Define memory limits.
if ( ! defined( 'WP_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MEMORY_LIMIT', $current_limit );
} elseif ( is_multisite() ) {
define( 'WP_MEMORY_LIMIT', '64M' );
} else {
define( 'WP_MEMORY_LIMIT', '40M' );
}
}
if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 /* = 256M */ ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} else {
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
}
}
ปลั๊กอินดีบักในโหมดดีบัก
หากคุณไม่คุ้นเคยกับการดัดแปลงโปรแกรมระบบ WordPress ขอแนะนำให้ติดตั้งโดยตรงการดีบัก WPโปรแกรมปลั๊กอินสามารถเปิดใช้งานโหมดดีบักของ WordPress ได้โดยตรง ปลั๊กอินยังมีฟังก์ชันในการดูเนื้อหาของ "debug.log" ซึ่งสามารถตรวจสอบและแก้ไขปัญหาได้โดยตรง