这是邮件发送的错误提示
错误提示:
Deprecated: Function ereg() is deprecated in F:\wamp\apps\project\email.class.php on line 249Deprecated: Function ereg_replace() is deprecated in F:\wamp\apps\project\email.class.php on line 258Deprecated: Function ereg_replace() is deprecated in F:\wamp\apps\project\email.class.php on line 259Deprecated: Function ereg_replace() is deprecated in F:\wamp\apps\project\email.class.php on line 40Notice: Undefined variable: header in F:\wamp\apps\project\email.class.php on line 41Deprecated: Function ereg() is deprecated in F:\wamp\apps\project\email.class.php on line 249Deprecated: Function ereg_replace() is deprecated in F:\wamp\apps\project\email.class.php on line 258Deprecated: Function ereg_replace() is deprecated in F:\wamp\apps\project\email.class.php on line 259--------------------------------------------------------------------------------------------
@$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
@$smtp->debug = true;//是否显示发送的调试信息
@$smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);这个@符号是否以应该用 当我用的时候 上面的错误提示将会有 一切都正常.要是不用的话就出现了上面的错误。Deprecated: Function ereg_replace() is deprecated in  这句话翻译过来是      不推荐使用:功能ereg_replace()已过时的  
这个提示要紧么  其实功能还是好使的。  用@符号把错误屏蔽掉就可以用了 但是这样会有坏处么
我用的是别人写好的email.class.php 的类 ,但是这里出现了这样的提示。大家说说像这样的错误要紧么。 是不是PHP的版本所造成的。。

解决方案 »

  1.   

    ereg及相关函数在php5.3后被弃用,使用时会发出警告讯息
    换成pcre上述警告就没有了
      

  2.   

    在php产品发布确实应该关闭错误报告,编写时打开
    但尽可能不使用@而应该使用error_report,@会造成一定程度的性能降低有能力的即使发布也不应关闭错误报告,而是转为log记录下来,不过这样需要写一段管理错误的程序
      

  3.   

    用error_reporting(0);把错误的消息全部关闭.
    自己set_error_handler个错误处理的程序. 
    将错误通过邮件发到你指定的邮件. 这样你既可以了解错误的消息. 也可以避免用户看到敏感的数据.
    当然 这些只是发布时候,
    在开放阶段还是尽量的把错误消息详细的输出 会对你开发有帮助的
      

  4.   


    要么修改类库要么就这样用$level = error_reporting(0);
    调用email
    error_reporting($level);