php静态方法,参数个数不对,iis报500错误,求解!!!

阿不阿 2016-12-31 12:56:53
下面是php代码,有一个类的静态方法,如下:
 /*
* 验证输入的网址
* @param string $url:要匹配的网址
* @param string $base:模型网址,如taobao.com,jd.com
* @return bool
*/
public static function is_url($url,$base)
{
//将网址转换为小写
if(!empty($base)){
$base = strtolower($base);
}
//淘宝和天猫,共享域名
if($base=='taobao.com' || $base=='tmall.com'){
$base = "(taobao.com)|(tmall.com)";
}
$chars = "/((^http)|(^https)):\/\/(\S)+($base)(\S)+/"; //http(https)://***$base***
if (preg_match($chars, $url))
{
return true;
}
return false;
}

调用这个方法的时候,如果不传$base参数,会报语法错误,只有iis才有这种问题,而且好像只有某个iis版本才会,求大神指导怎么解决、??
...全文
516 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿不阿 2016-12-31
  • 打赏
  • 举报
回复
php高版本下,调用方法缺省参数,必须设置参数默认值,方法名改为is_url($url,$base="")就对了。
阿不阿 2016-12-31
  • 打赏
  • 举报
回复
最好不要nty
引用 1 楼 bbg2010 的回复:
方法的话调用至少传个NULL吧
最后一个参数如果没有,可以不传的。在apache和nginx下都是对的。
只为思考 2016-12-31
  • 打赏
  • 举报
回复
方法的话调用至少传个NULL吧

8,329

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 IIS
社区管理员
  • IIS
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧