PHP错误ERRNO:2:define()函数参数不足问题求助
问题排查与解决
错误原因
代码里把判断常量是否存在的函数用错了:在检查HTTP_SERVER_PORT是否已定义时,误使用了define()函数。define()的作用是定义常量,必须传入至少两个参数(常量名和对应的值),你这里只传了一个参数,所以触发了ERRNO:2的错误。
正确判断常量是否已定义的函数是defined(),它只需要传入常量名作为参数,返回布尔值表示该常量是否存在。
修复后的代码
class Link { public static function Build($link) { $base = 'http://' . getenv('SERVER_NAME'); // 若已定义HTTP_SERVER_PORT且与默认值不同 if(defined('HTTP_SERVER_PORT') && HTTP_SERVER_PORT != '80') { // 追加服务器端口 $base .= ':' . HTTP_SERVER_PORT; } $link = $base . VIRTUAL_LOCATION . $link; //转义HTML return htmlspecialchars($link, ENT_QUOTES); } public static function ToDepartment($departmentId) { $link = 'index.php?DepartmentId=' . $departmentId; return self::Build($link); } }
内容的提问来源于stack exchange,提问作者P_code
相关产品推荐
相关产品推荐

