WordPress.org

Make WordPress Core

Opened 12 months ago

Closed 9 months ago

#21103 closed defect (bug) (fixed)

error_log() not called in wp-db.php when error_log setting is empty

Reported by: apimlott Owned by: nacin
Priority: normal Milestone: 3.5
Component: Database Version: 3.4
Severity: normal Keywords: has-patch 2nd-opinion
Cc:

Description

The fix for #5771 is still not right. If the error_log setting in php.ini is empty (the default), errors should still be logged. (See http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log.) But in this case, ini_get('error_log') returns an empty string, so the iswritable check in wp-includes/wp-db.php line 935 (WordPress 3.4) fails and nothing is logged. Probably, there should be an test for empty string just as there is for 'syslog'.

Patch attached.

Attachments (1)

patch (560 bytes) - added by apimlott 12 months ago.
Patch against WordPress 3.4

Download all attachments as: .zip

Change History (6)

apimlott12 months ago

Patch against WordPress 3.4

comment:1 apimlott12 months ago

I was wrong about one thing. The is_writable check doesn't fail, it fails earlier because the empty return from ini_get is considered false. That's why I pulled the call to ini_get out of the condition.

comment:2 wonderboymusic10 months ago

  • Keywords has-patch added

comment:3 nacin10 months ago

  • Keywords 2nd-opinion added
  • Milestone changed from Awaiting Review to 3.5

Can't we just always call error_log()? The conditional, function_exists, and error suppression all seem unnecessary.

comment:4 wonderboymusic10 months ago

yeah, the whole thing looks like overkill

comment:5 nacin9 months ago

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

In [21807]:

Call error_log() in wp-db without unnecessary conditionals. fixes #21103.

Note: See TracTickets for help on using tickets.