当我在测试服务器上调用PHP邮件功能时,我收到警告。这是正确的,因为我没有启用邮件服务器来测试商城失败时的系统。我希望这个函数不要抛出警告。我将如何实现这一目标?
函数本身应该仍然失败(即返回false)。
答案 0 :(得分:3)
为什么不跳过测试服务器上的邮件功能,而不是试图压制有效警告?
执行类似
的操作if( $_SERVER[ 'SERVER_NAME' ] != 'my.testing.server' ){
mail(...);
}
或者,更好的是,设置一个可以测试的全局变量,以确定您的服务器是否处于开发/测试/生产模式。然后,如果它不处于生产模式,你可以简单地跳过邮件方法。
您可以使用@
来禁止显示警告消息,但是当您将代码部署到生产服务器时,您可能会留下可能会阻止警告的代码。
答案 1 :(得分:2)
use @mail(parameters...)
@supresses报告输出邮件可能产生的任何错误
你也可以一起抑制警告
error_reporting(E_ALL ^E_WARNING) to supress warnings all together
答案 2 :(得分:0)
@ /
有什么问题@mail(// should suppress errors);