2009-07-03 55 views
9

我正在为WordPress编写一些插件和主题,我发现很难调试,因为在页面加载时,$ _GET,$ _POST和$ _REQUEST都是空的。即使设置了错误报告,只要有致命错误,我也不会收到空白页以外的错误消息。无论如何,启用WordPress的“调试模式”?PHP和WordPress:调试

谢谢!

回答

11

梨调试WordPress插件:http://wordpress.org/extend/plugins/wp-pear-debug/

更新2015年4月8日:上述插件尚未在几年内更新。您还可以使用内置的wp-config.php WordPress的PHP调试功能,即:

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

https://codex.wordpress.org/Debugging_in_WordPress的完整文档

+0

从PHP 7.0(不确定)到几乎将错误引发为Exception,似乎Wordpress有时会停止渲染而没有任何错误消息。 (当然,即使上面的设置完成了。)设置`set_exception_handler` https://gist.github。com/kaorukobo/795d43c9a594b021c2d09fffd2935b37帮助了这个问题。 – kaorukobo 2017-03-05 03:23:21

5

有一种方法可以为php启用一个“调试模式”。那就是安装一个调试器扩展,例如xdebug
您需要一个连接到调试器并检索+显示信息的客户端。
Netbeans 6.7已被released及其php模块支持xdebug。它已经成为一个不错的IDE for PHP development

+0

唉,我使用托管网络主机,我的PHP开发风格是直接上传到网络主机进行测试。谢谢,如果我曾经在我的Windows机器上开发过,我会使用这个 – Extrakun 2009-07-04 11:57:13

4

我知道这早已回答了,但如果你define('WP_DEBUG',true);在WP- config.php文件,但仍然没有看到错误,然后添加以下代码之后的定义声明:在WordPress的FirePHP调试器(垃圾邮件的链接 - [R

if (WP_DEBUG) ini_set('display_errors',1);

3

看emoved)。它使用FirePHP通过Web浏览器调试wordpress。

主要特点:内部的PHP FirePHP服务器库的

  • 自动检测包括路径或分离目录
  • 调试器(WordPress的发动机开始之前)
  • 没有修改的WordPress芯或结构的早期负载文件
  • 自动启用WordPress调试模式
  • 处理所有php致命错误(不再有空白页和日志解析)
  • 日志WordPress的过时的功能和参数
  • 直播现场安全调试
  • SQL查询日志
  • PHP超全局变量和常量
  • 系统信息(WordPress和服务器环境)