Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

My hosting company upgraded their php, so my site was getting all sorts of error messages. So, I make a backup of all my content, deleted the wp-admin, wp-includes and loose files in html, then uploaded 3.4.1 of WordPress.

I got a bunch of errors at that point, so via FTP I went into my plugins folder and renamed them. That caused most of the messages to go away.

Now, I'm left with just two errors.

On the front page, I get this error, even though the page loads successfully:

Strict Standards: Redefining already defined constructor for class WP_Widget in /nfs/c05/h04/mnt/73941/domains/feltbeats.com/html/wp-includes/widgets.php on line 93

When I go to wp-admin however, the page does NOT load and I see only this:

Strict Standards: Redefining already defined constructor for class WP_Widget in /nfs/c05/h04/mnt/73941/domains/feltbeats.com/html/wp-includes/widgets.php on line 93

Warning: Cannot modify header information - headers already sent by (output started at /nfs/c05/h04/mnt/73941/domains/feltbeats.com/html/wp-includes/widgets.php:93) in /nfs/c05/h04/mnt/73941/domains/feltbeats.com/html/wp-includes/pluggable.php on line 881

I was actually just on the phone with my hosting company, and he very kindly looked at this for about an hour. He was focusing on it being an actual bug in 3.4.1 - but it seems the fact that the admin doesn't load would have been noticed. =)

So I assume it is something in my set up. But since I deleted most files, I can't see what it would be.

I had a custom functions.php file in my theme, but I tried deleting it and also the php in it.

Any help or just pointing me in the right direction would help. Thank you!

share|improve this question
add comment

1 Answer

The debug mode is on on your site. Go into wp-config.php and look for:

define( 'WP_DEBUG', TRUE );

Change TRUE to FALSE.

See Debugging in WordPress for more information.

If this doesn’t help the error_reporting level is set somewhere else.

  • .htaccess: Look for …

    php_value error_reporting integer
    

    … where integer matches one of the error constants. Remove the line or set its value to 1. More information.

  • Theme: Somewhere in your theme might be a line like this:

    error_reporting( E_ALL | E_STRICT );
    

    Remove that line. If you cannot find it, remove all themes, upload a fresh copy of TwentyEleven. WordPress will pick this up if there are no other themes available.

  • Plugin: One of your plugins can set error_reporting() too. Rename the directories plugins and mu-plugins in your wp-content directory to disable all plugins. If that fixes the problem download both directories and search for the error_reporting directive.

  • Drop-In: There is a number of files that are loaded automatically. Look in your wp-content directory for advanced-cache.php, db.php, db-error.php, object-cache.php and sunrise.php ([more information about that][5]).
    Look also for a file in your languages directory named like en_US.php or de_DE.php. These are auto-loaded too.

If you still see no change the error_reporting is set in your php.ini. Ask your web hoster how to proceed.

[5]: http://hakre.wordpress.com/2010/05/01/must-use-and-drop-ins-plugins/ "Advanced PHP Error Handling via htaccess".

share|improve this answer
    
Unfortunately, it is set to 'false.' Just to see what happened, I switched it to 'true' and it now gives a few more messages about deprecated widgets. –  Misha Jul 19 '12 at 7:27
    
@Misha See my update. –  toscho Jul 19 '12 at 7:30
    
Hi Toscho! If I rename the theme folder, the whole site is blank, except for the same error messages. I can look through the theme for the code though - it's not in functions.php - where else should I look? Thanks for your help! –  Misha Jul 19 '12 at 7:43
    
You should have a copy of TwentyEleven in your theme directory. This will be used if the other theme is not available. The error_reporting() can be in any .php file. –  toscho Jul 19 '12 at 7:47
    
I'm still mystified on this. =( I've searched all my theme files and can't find error_reporting other than the one instance of debug in my config file that is set to false. Also, I renamed my theme directory and it is just blank, still with the error message. I do have twentyeleven in my theme directory, but it isn't picking up. –  Misha Jul 31 '12 at 5:01
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.