[英]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中有一种替代方法供您使用。
查看完整清单:
注意: 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();
就这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.