我的页面上有一个“弃用”通知,其中包含很少的会话功能

时间:2010-05-24 07:10:09

标签: php deprecated

我在我的网站页面上收到以下消息,有超过20条这样的消息...请指导我纠正问题...我使用的是PHP 5.3.0

  

不推荐使用:函数eregi()是   不推荐使用   C:\瓦帕\ WWW \ bannerbuzz \包括\类\ language.php   第87行

     

>更新:有没有办法切换   关闭此错误显示?

5 个答案:

答案 0 :(得分:3)

您问题的正确答案是:在您的网站上使用其他错误设置。 你可以用3种方式之一做到这一点。

如果您有权使用。

,请更改php.ini文件
error_reporting  =  E_ERROR
display_errors = Off

将.htaccess文件添加到您网站的根目录 您还必须有权这样做。 添加以下行:

php_flag display_errors off
php_value error_reporting E_ERROR

在脚本开头执行以下语句

error_reporting(E_ERROR);
ini_set("display_errors","Off");

但是,与其他答案一致,您得到的错误错误,您应该解决它们。大多数情况下,您希望在开发环境中显示错误,并在生产环境中禁止并记录它们。但你总是想解决它们。

查看PHP manual以获取有关错误的更多信息。

答案 1 :(得分:2)

也许是因为该功能已被弃用?您可以随时更改error_reporting设置,但最好停止使用已弃用的功能

来自PHP.net

  

自PHP 5.3.0起,此功能已被弃用。非常不鼓励依赖此功能。

我相信从PHP 6开始也会删除它。为什么不使用preg_match?

答案 2 :(得分:2)

在PHP 5.3中,有些内容已被弃用,不再支持,但是,在php 5.3中有一个替代方案可供您使用。

请参阅完整列表:

<强> Deprecated features in PHP 5.3.x

注意: ereg已删除,您可以使用preg系列函数。

答案 3 :(得分:1)

就我而言,我正在使用第三方库,它利用了eregi功能。在这种情况下,有一个简单的解决方案来隐藏这些警告。只需将ob_start()和ob_end_clean()放在代码的开头和结尾:

ob_start();
// third party code
// and more code ...
if (eregi("blah", $var)) {  // <-- this code is throwing a warning
    // ..
}
// and more code ...
ob_end_clean();

就是这样。

答案 4 :(得分:0)

尝试preg_match或preg_replace,未折旧的函数:)

更改错误级别:

http://php.net/manual/en/function.error-reporting.php