如何在WordPress启动Debug侦错模式找到出错原因?

WordPress网站在进行系统核心程式、布景主题或外挂更新时,偶而会出现「这个网站发生重大问题」讯息而导致网站无法正常运作,甚至有时连后台也无法登入,新手站长看起来会觉得相当可怕,此时可藉由启动WordPress内建的侦错系统(Debug Systems),了解问题出现在哪里并加以解决。

Debug侦错模式的基本介绍📂

Debug Systems为WordPress内建的侦错系统,会将系统错误记载在debug.log文字档内,协助站长逐一检视问题在哪里,通常系是统核心程式、布景主题与外挂之间的不相容问题,但得将预设关闭的侦错系统启动,才能进行系统除错。

这个网站发生重大问题。请检查网站管理员电子邮件收件匣以取得相关说明。

进一步了解WordPress中的疑难排解方式

Debug侦错模式的启动步骤

步骤一:找到wp-config.php组态档

在WordPress安装资料夹/public_html中,寻找名为「wp-config.php」的WordPress核心组态档,找到一行「define('WP_DEBUG', false);」的设定,这行设定表示Debug模式预设为未启用。

define('WP_DEBUG', false);

步骤二:修改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 );

步骤三:检视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侦错模式的解决案例

此次出现「这个网站发生重大问题」,主要是从全面从传统编辑器改用区块编辑器,时常在打开或新增文章时,就会出现错误画面,通常经重新整理页面后就会解决,但还是常常会出现同样问题。

经由启动侦错模式后,再次出现同样问题时,立即检视debug.log的记载内容,出现「PHP Fatal error: Allowed memory size of 268435456 bytes exhausted」,原来是使用区块编辑器撰写文章时,面临记忆体不足的问题。

因为使用Cloudways架站,提高PHP所需记忆体上限很方便,先进伺服器(Servers)的「Setting & Packages」设定分页,检视「Memory Limit」预设值为256MB,看起来相当够用,无须调整。

接着进入Cloudways的应用程式(Applications)设定画面,检视「Application Settings」设定分页的「PHP FPM SETTINGS」选项,预设值为[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组态值,在/public_html/wp-includes路径寻找default-constants.php,修改预设的记忆体限制。

// 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' );
		}
	}

Debug侦错模式的外挂程式

若是执行WordPress系统程式修改不熟悉的人,建议直接安装WP调试外挂程式,就可直接启用WordPress的侦错模式,外挂也提供检视「debug.log」内容的功能,就可直接检视并解决问题。

文章对你有帮助吗?

喜欢文章的话…

欢迎追踪我们的动态!

遗憾文章未能帮助你!

请提供建议给我们

在Instagram上关注我们

最新文章推荐阅读

关于爱旅志二三事

网路订房问答精选

联络我们

名字
电邮
想说的话
已成功寄信联络爱旅志!
送信失败,请重新检查栏位资料是否齐全!

最优惠的预订平台

使用线上酒店、机票与车票预订平台,享有保证最低价、免费取消、累积点数等优惠。

最实用的行程预订

完成订房后,善用kkday/klook 线上预订平台,行前打造自己的专属行程。

景点门票
观光行程
户外活动
交通票卷
景点门票
套装行程
在地体验
住宿专案
返回顶端