如何阻止PHP通知出现在wordpress中?

时间:2009-08-20 19:41:09

标签: php wordpress error-reporting

我知道error_reporting(0);ini_set('display_errors', false);,但有一个通知出现在wordpress中:

  

注意: /var/www/vhosts/treethink.net/subdomains/parkridge/httpdocs/wp-includes/formatting.php 中的数组到字符串转换 359

出现在wordpress中,而不是网站的任何其他页面。

我检查了phpinfo(),并且设置了所有内容,以便不显示错误。为什么这个仍然出现?

以下是生成错误的行:

function wp_check_invalid_utf8( $string, $strip = false ) {
    $string = (string) $string;

做了更改wordpress中的一些内容,以改变库的工作方式。但不是这个函数,我也不认为我改变了对这个函数的任何调用。除了出现的通知外,一切似乎都运行得很好,我只需要隐藏这个错误。

6 个答案:

答案 0 :(得分:51)

您需要编辑:

wp-config.php

文件并在此处修改以下内容:

error_reporting(0);
@ini_set('display_errors', 0);

否则Wordpress会覆盖PHP.INI设置的ALERTS

答案 1 :(得分:9)

在wp-config.php中添加以下行:

define('WP_DEBUG_DISPLAY', false);

这将启用或禁用向页面显示通知和警告。这里有一个更全面的描述,以及一些相关的选项:

http://codex.wordpress.org/Debugging_in_WordPress

答案 2 :(得分:9)

2015年1月,使用最新的Wordpress,以上都不适用于我。

在Wordpress的mu-plugins文件夹中创建一个php文件,如:

<?php
error_reporting(E_ALL &  ~( E_NOTICE | E_USER_NOTICE | E_STRICT | 
E_DEPRECATED | E_USER_DEPRECATED | E_WARNING | E_CORE_WARNING | 
E_USER_WARNING | E_COMPILE_WARNING | E_PARSE )); 

只需将它命名为任何你想要的东西......

我从这里得到了答案:

https://wycks.wordpress.com/2013/12/05/how-to-remove-error-notices-using-wordpresss-wp_debug/

答案 3 :(得分:1)

如果您只想隐藏来自此功能的错误,您可以使用

@function wp_check_invalid_utf8( $string, $strip = false )
{

}

答案 4 :(得分:1)

大多数情况下这些都不用担心(尽管插件/主题开发人员应该知道这些,以便他们可以在将来的版本中修复它们)。在大多数情况下,PHP警告和通知在生产站点上无需担心。 其中一些甚至可以生成,因为开发人员必须保持与旧版WordPress以及旧版PHP版本的兼容性。

define('WP_DEBUG', false);

用这个

ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

如果您在 wp-config.php文件将WP_DEBUG设置为false ,那么您应该没问题。这些不会以任何方式影响您的网站。

然而,问题是有时候上述情况不起作用。 在强制显示PHP警告和通知的廉价共享主机上,这种情况大多数时间都会发生。 在这种情况下,您可以从wp-config.php文件替换此行:

答案 5 :(得分:0)

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define('WP_DEBUG', false);

// Enable Debug logging to the /wp-content/debug.log file
define('WP_DEBUG_LOG', false);

// Disable display of errors and warnings 
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

我使用的是什么,它适用于最新的WordPress版本。