可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.
回答1:
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);
回答2:
I needed to adapt this to
error_reporting = E_ALL & ~E_DEPRECATED
回答3:
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.
回答4:
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......
回答5:
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.
回答6:
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
回答7:
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);
回答8:
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
回答9:
Just replace below code in wp-config.php file
define( 'WP_DEBUG', true ); to define( 'WP_DEBUG', true );
回答10:
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);