Question

My server is running php 5.3 and My wordpress install is spitting these errors out on me causing the my session_start() to break.

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 647

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 662

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 669

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 676

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 712

This is annoying, but I do not want to turn off on screen error reporting. How do I disable these bothersome deprecated warnings?

I am running Wordpress 2.9.2.

Was it helpful?

Solution

You can do it in code by calling the following functions.

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

or

error_reporting(E_ALL ^ E_DEPRECATED);

OTHER TIPS

I needed to adapt this to

error_reporting = E_ALL & ~E_DEPRECATED

To only get errors those cause application to stop working use:

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING | E_DEPRECATED));

This will stop showing notice, warning and deprecated errors.

All the answers above are correct. Since no one have hinted out how to turn off all errors in php, I would like to mention it here :

error_reporting(0); // Turn off warning, deprecated, 
                    // notice everything except error

Somebody might find it useful......

I just faced a similar problem where a SEO plugin issued a big number of warnings making my blog disk use exceed the plan limit.

I found out that you must include the error_reporting command after the wp-settings.php require in the wp-config.php file:

   require_once( ABSPATH .'wp-settings.php' );
   error_reporting( E_ALL ^ ( E_NOTICE | E_WARNING | E_DEPRECATED ) );

by doing this no more warnings, notices nor deprecated lines are appended to your error log file!

Tested on WordPress 3.8 but I guess it works for every installation.

In file wp-config.php you can find constant WP_DEBUG, make sure it is set to false.

define('WP_DEBUG', false);

This is for wordpress 3.x

You have to edit the php configuration file. Fin the line

error_reporting = E_ALL

and replace with error_reporting = E_ALL ^ E_DEPRECATED

If you don't have access to the configuration file you can add this line to the php wordpress file (maybe headers.php)

error_reporting(E_ALL ^ E_DEPRECATED); 

I tend to use this method

$errorlevel=error_reporting();
$errorlevel=error_reporting($errorlevel & ~E_DEPRECATED);

In this way I do not turn off accidentally something I need

this error occur when you change your php version: it's very simple to suppress this error message

To suppress the DEPRECATED Error message, just add below code into your index.php file:

init_set('display_errors',False);

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top