轻松排除WordPress中的代码故障

时间:2019-03-04 作者:Amirition

有没有一种简单而标准的方法来调试wordpress插件中的代码?我想在一个函数中打印一些变量,该函数在特定事件发生时运行。有没有一种wordpress方法可以将其保存到文件中,或者至少可以查看它?

3 个回复
最合适的回答,由SO网友:MikeSchinkel 整理而成

解决/调试WordPress PHP代码的最佳方法是使用XDEBUG PHP调试器与可以利用XDEBUG的IDE/编辑器相结合。

到目前为止,我最喜欢的PHP/XDEBUG IDE是PhpStorm (我花过的最好的钱),但您可以免费使用their EAP (Early Access Program). 您也可以使用免费VSCode 使用XDEBUG。

这是一个great video showing 使用XDEBUG的效果;PhpStorm。您可以从18:00 这一点很重要,因为之前的一切都是谈话和幻灯片。

您还需要一个支持XDEBUG的本地开发设置。几年前,我对正确配置XDEBUG有多么困难感到沮丧,所以我让我的团队开发WPLib Box 它预先配置了XDEBUG,从而使使用XDEBUG trivally变得非常简单。你可以download GitHub的WPLib框,免费使用,并通过获取帮助our Slack.

我想说的是,使用PhpStorm/XDEBUG/WPlib-Box给了我WordPress的超级能力。你认为我还能如何回答WPSE的所有问题?:-)

也就是说,还有其他地方发展解决方案,如VVV, Trellis, Chassis, Desktop Server, MAMP, DevilBox, LaraDock, Kalabox, Kusanagi 还有其他你可以试试的。但我不确定设置XDEBUG以与其他任何一个一起工作有多困难,但我知道在使用WPLib-Box时,第一手的XDEBUG工作起来没有任何麻烦。

希望这有帮助。

SO网友:chrisbergr

只需从配置中的以下定义开始。php文件:

define(\'WP_DEBUG\', true);
define(\'WP_DEBUG_LOG\', true);
define(\'SCRIPT_DEBUG\', true);
define(\'SAVEQUERIES\', true);
第一个将系统设置为调试模式,第二个将每个通知写入保存到wp-content 目录脚本调试使WordPress能够使用未压缩的CSS和JS文件(编写插件可能也很有趣)。Savequeries在呈现的HTML输出的底部写入HTML注释,我建议您接下来使用这些注释。

查看WordPress插件目录Debug Bar and extensions. 有很多,其中一些很有可能提供您所需要的东西。

如果没有什么帮助,你每次都可以写

print_r( $var );
die();
并查看HTML源代码。

SO网友:majick

不幸的是,WordPress中并没有真正的标准开发人员日志API。如果您想将自己的数据输出到调试文件(以防止“headers ready sent”错误),那么您可以简单地使用标准PHPerror_log 作用像这样简单的操作将记录变量$data 到文件debug.log 在插件目录中:

$debugline = \'[\'.date(\'y m d H:i:s\', time()).\'] \'.print_r($data,true);
$debugfilepath = dirname(__FILE__).\'/debug.log\';
error_log($debugline, 3, $debugfilepath); 

相关推荐

(Xdebug Profiler)为什么一个页面会生成两个cachegrind文件?

当我启用时xdebug profiler, 在admin中打开一个页面,它会生成两个名称几乎相同的cachegrind文件cachegrind.out.1498219635_761795.crown__minilio_wp-admin_edit_php cachegrind.out.1498219639_141988.crown__minilio_wp-admin_edit_php 输出名称定义为xdebug.profiler_output_name = \"cachegrind.out