如何在wp-config.php之外将WP_DEBUG定义为TRUE? 时间:2012-03-28 作者:Dalton Rooney 我正在尝试在我的一个插件中创建一个调试模式,以便用户可以轻松地自己启用WP\\U调试,并希望能够向我们报告有用的错误消息。现在我们要求他们修改他们的wp配置。php,但这超出了一些用户的能力。我想补充一下define( \'WP_DEBUG\', true );在我们的插件中,如果用户选中了该选项,但似乎只能从WP配置中启用WP\\U调试。php文件。除了WP config之外,有人知道从其他任何地方启用WP\\U DEBUG的方法吗?或者我是否可以使用另一个有用的WP函数?谢谢,道尔顿 5 个回复 最合适的回答,由SO网友:Rarst 整理而成 WordPress逻辑力WP_DEBUG 要定义为某物,即使省略,也将设置为false 在里面wp_initial_constants() 加载期间。但是,“后台”(不是在显式检查时)函数WP_DEBUG 是在运行时如何配置PHP错误报告的标志。该配置由执行wp_debug_mode() 在这之后的任何时候,如果需要的话,都可以通过插件的代码进行更改。 SO网友:soulseekah 无法打开WP_DEBUG 因为它是在wp config中定义的。php默认情况下,重新定义constants 在PHP中不可能。如果你想让他们远离wp配置。php要求他们在顶部添加以下内容:if ( file_exists( \'safe-wp-config.php\' ) ) { /* this will contains WP_DEBUG */ include \'safe-wp-config.php\'; } 或者,WP_DEBUG 假设为false 丢失时,让它们移除WP_DEBUG 完全从wp配置。php,并随时随地使用。 SO网友:butlerblog 如果您无权访问wp-config.php 但您确实可以访问主题(或插件)编辑器,您可以添加一个代码段来完成与WP_DEBUG 常数这个wp_debug_mode() 函数使用这个常量和其他一些常量的值来设置PHP中的显示和记录错误函数。您可以直接运行相同的PHP函数,只需实际触摸WP_DEBUG 常量或wp-config.php 文件以下是代码段可以使用的关键PHP函数:error_reporting( E_ALL ) - 将PHP设置为显示所有错误、警告和通知ini_set( \'display_errors\', 1 ) - 将PHP设置为在屏幕上显示错误;使用0来抑制(尽管在中未启用调试wp-config.php 这已经是0,因此您可以完全忽略它)ini_set( \'log_errors\', 1) - 将PHP设置为记录错误。与上面的值一样,如果不打算记录错误,则可以忽略此值。如果确实要记录错误,则需要可以访问的错误日志。默认设置由wp_debug_mode() 将无法访问。我的示例将它设置为主题目录中的文本文件,以便您可以使用主题编辑器读取它ini_set( \'error_log\', $log_path ) - 设置错误日志的位置(如上所述)以下是代码片段:add_action( \'template_redirect\', \'my_enable_debug_mode\' ); function my_enable_debug_mode() { // Turn on error reporting. error_reporting( E_ALL ); // Sets to display errors on screen. Use 0 to turn off. ini_set( \'display_errors\', 1 ); // Sets to log errors. Use 0 (or omit) to not log errors. ini_set( \'log_errors\', 1 ); // Sets a log file path you can access in the theme editor. $log_path = get_template_directory() . \'/debug.txt\'; ini_set( \'error_log\', $log_path ); } 总而言之,如果需要调试,请不要访问wp-config.php 但如果您有权访问主题编辑器,则可以将此代码段添加到functions.php 用于在屏幕上启用调试的文件以及主题文件夹中的txt日志文件。 SO网友:Sachin Khosla 但是,如果您真的想显示错误,而不是将其存储在日志文件中(如我所希望的),那么您可以为公共IP启用调试,如下所示-if ( $_SERVER[\'REMOTE_ADDR\'] == \'xxx.xxx.xxx.xxx\') define(\'WP_DEBUG\', true); 只要您使用的是静态IP,就不会有问题,但是如果您使用的是动态IP,那么您可能可以在每次需要打开调试时更改IP。 SO网友:Arun Basil Lal 我很晚才去参加聚会。然而,我有一个要求,即我必须启用wp\\u调试,并且我无法访问文件。此插件有助于:https://wordpress.org/plugins/debug/也许你可以做与插件相同的事情?编辑wp配置。php编程? 结束 文章导航