PHP filter_var FILTER_VALIDATE_DOMAIN 期望参数 2 很长

PHP filter_var FILTER_VALIDATE_DOMAIN expects parameter 2 to be long

这个简单的代码:

var_dump(filter_var('example.com', FILTER_VALIDATE_DOMAIN)); 
// also
var_dump(filter_var('example.com', FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)); 

Returns:

Warning: filter_var() expects parameter 2 to be long, string given in [...]

但是 FILTER_VALIDATE_DOMAIN 似乎是一个基于 this page

的有效过滤器

根据filter var function.

我是这么理解的

怎么了?

出现FILTER_VALIDATE_DOMAIN only exists in PHP 7+. It's only mentioned in the general changelog, not where you'd expect it。在旧版本中,它没有定义,并且 PHP 退回到 'FILTER_VALIDATE_DOMAIN' 作为裸字符串,并且您已经抑制了错误报告并且没有看到该通知。