繁体   English   中英

我在页面上收到“已弃用”通知,其中包含一些会话功能

[英]I get a “Deprecated” notice on my page with few of the session functions

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

不建议使用:函数eregi()在第87行的C:\\ wamp \\ www \\ bannerbuzz \\ includes \\ classes \\ language.php中已弃用

>更新:有什么办法可以关闭此错误显示?

您问题的正确答案是:在您的网站上使用其他错误设置。 您可以通过以下三种方式之一进行操作。

如果有权,请更改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手册以获取有关错误的更多信息。

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

PHP.net

自PHP 5.3.0起已弃用此功能。 强烈建议不要使用此功能。

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

在PHP 5.3中,有些东西已被弃用,不再受支持,但是在php 5.3中有一种替代方法供您使用。

查看完整清单:

PHP 5.3.x中不推荐使用的功能

注意: ereg被删除,您可以改用preg系列功能。

就我而言,我正在使用利用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();

就这样。

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

要更改错误级别:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM