WordPress.org

Make WordPress Core

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#5033 closed enhancement (fixed)

Better error_reporting and a debug mode

Reported by: ozh Owned by:
Milestone: 2.5 Priority: normal
Severity: normal Version:
Component: General Keywords: has-patch 2nd-opinion early
Focuses: Cc:

Description

Following a discussion on wp-hackers in September, here is a proposition for a better error_reporting handling, and an optional debug mode (plugin) developers could activate on a per-blog basis

It would consist of the following:

in wp-settings.php:

if (defined('WPDEBUG') and WPDEBUG == true) {
   error_reporting(E_ALL);
} else {
   error_reporting(E_ALL ^ E_NOTICE);
}

Then, on wp-config.php for developers:

define('WPDEBUG', true);

Attachments (1)

const_wpdebug.diff (597 bytes) - added by ozh 9 years ago.
optional debug mode

Download all attachments as: .zip

Change History (14)

@ozh
9 years ago

optional debug mode

#1 @Nazgul
9 years ago

  • Milestone changed from 2.3.1 to 2.4

See #3155

#2 @santosj
9 years ago

I think it should be:

if (defined('WPPRODUCTION') && ( true == WPPRODUCTION ) ) {
   error_reporting(0);
} else {
   error_reporting(E_ALL);
}

And have in the config.php

WPPRODUCTION = true;

#3 @markjaquith
9 years ago

Santosj,

We can't modify wp-config.php -- so upgraders wouldn't get constant, and would be stuck in debug mode.

#4 @santosj
9 years ago

if (defined('WPDEBUG') && ( true == WPDEBUG) ) {
   error_reporting(E_ALL);
} else {
   error_reporting(0);
}

Oh yeah. Assume Production, unless stated otherwise in config.php.

#5 @g30rg3x
9 years ago

  • Component changed from Optimization to General
  • Keywords debug error_reporting e_all e_notice notice removed
  • Milestone changed from 2.4 to 2.3

+1, but i think this should be consider in the 2.3 release

#6 @foolswisdom
9 years ago

  • Milestone changed from 2.3 to 2.4

#7 @foolswisdom
9 years ago

  • Keywords early added

#8 @darkdragon
9 years ago

It is not my intention to be rude, the code would functionality be the same as it is now but allow those who want to see all errors to see them. However, I think that it should be instead assumed that if there is no WPDEBUG constant in wp-config.php, that the server is production.

In this way, I don't have to keep replacing the E_ALL with "0" each time I upgrade.

#9 @westi
9 years ago

  • Resolution set to fixed
  • Status changed from new to closed

(In [6179]) Enable developers to turn on notices from wp-config.php. Relates #3155. Fixes #5033 props Ozh.

#10 follow-up: @matt
9 years ago

  • Resolution fixed deleted
  • Status changed from closed to reopened

Could we make this have an underscore like almost all other of our defines. We should try to be consistent where possible.

#11 in reply to: ↑ 10 @westi
9 years ago

Replying to matt:

Could we make this have an underscore like almost all other of our defines. We should try to be consistent where possible.

I don't see why not.

It ended up as WPDEBUG as that was in the patch and I only looked at WPLANG when I was in my wp-config.php testing.

Searching the codebase WP_DEBUG makes more sense it seems.

#12 @westi
9 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [6181]) s/WPDEBUG/WP_DEBUG/g Fixes #5033

#13 @docwhat
9 years ago

Shouldn't that be:

  error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE);

So that user notices can be used?

Ciao!

Note: See TracTickets for help on using tickets.