Edit report at https://bugs.php.net/bug.php?id=64604&edit=1
ID: 64604 Comment by: info at solidsystem dot it Reported by: franssen dot roland at gmail dot com Summary: parse_url is inconsistent with specified port Status: Open Type: Bug Package: URL related Operating System: Linux PHP Version: 5.4.13 Block user comment: N Private report: N New Comment: There's also this problem, verified on the following PHP versions: PHP Version 5.3.3-7+squeeze15 PHP Version 5.4.4-14+deb7u2 Bug: The port is wrongly parsed when the host is omitted. url: index.php?myVar=Size:10Array ( [host] => index.php [port] => 10 [query] => myVar=Size:10 ) url: http://myhost.com/index.php?myVar=Size:10Array ( [scheme] => http [host] => myhost.com [path] => /index.php [query] => myVar=Size:10 ) Previous Comments: ------------------------------------------------------------------------ [2013-04-07 13:16:38] franssen dot roland at gmail dot com typo. ------------------------------------------------------------------------ [2013-04-07 13:14:49] franssen dot roland at gmail dot com Description: ------------ Please see the test script. parse_url() is inconsistent with "//localhost:80/path" Test script: --------------- <?php var_dump(parse_url('//localhost/path')); var_dump(parse_url('//localhost:80/path')); var_dump(parse_url('//localhost:/path')); var_dump(parse_url('http://localhost:80/path')); Expected result: ---------------- # //localhost/path array(2) { ["host"]=> string(9) "localhost" ["path"]=> string(5) "/path" } # //localhost:80/path array(2) { ["host"]=> string(9) "localhost" ["port"]=> int(80) ["path"]=> string(5) "/path" } # //localhost:/path array(2) { ["host"]=> string(9) "localhost" ["path"]=> string(5) "/path" } # http://localhost:80/path array(4) { ["scheme"]=> string(4) "http" ["host"]=> string(9) "localhost" ["port"]=> int(80) ["path"]=> string(5) "/path" } Actual result: -------------- # //localhost/path array(2) { ["host"]=> string(9) "localhost" ["path"]=> string(5) "/path" } # //localhost:80/path bool(false) # //localhost:/path array(2) { ["host"]=> string(9) "localhost" ["path"]=> string(5) "/path" } # http://localhost:80/path array(4) { ["scheme"]=> string(4) "http" ["host"]=> string(9) "localhost" ["port"]=> int(80) ["path"]=> string(5) "/path" } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=64604&edit=1