Test: /ext/standard/tests/http/bug38802.phpt - Version 5.4.26        

Bug #38802 'max_redirects' context options doesn't work when value is 1
Submitted: 2006-09-13 07:36:04 Modified: 2010-02-17 00:35:40
From: datibbaw Assigned:
Status: Closed Package: HTTP related
PHP Version: 5.2.9 OS: Linux Gentoo

There are 8 different diffs reported by users for this test.

Count Diff
41 (79%)
003+ array(2) {
004+ ["headers"]=>
005+ array(0) {
006+ }
007+ ["readbuf"]=>
008+ resource(10) of type (stream)
009+ }
010+ string(5) "done."
011+ string(343) "GET /foo/bar HTTP/1.1
012+ User-Agent: PHP/5.4.26
013+ Host: 127.0.0.1:12342
014+ Accept: */*
015+
016+ GET /foo/bar2 HTTP/1.0
017+ User-Agent: PHP/5.4.26
003- array(7) {
004- [0]=>
005- string(30) "HTTP/1.0 302 Moved Temporarily"
006- [1]=>
007- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
008- [2]=>
009- string(30) "HTTP/1.0 301 Moved Permanently"
010- [3]=>
011- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
012- [4]=>
013- string(30) "HTTP/1.0 302 Moved Temporarily"
014- [5]=>
015- string(41) "Location: http://127.0.0.1:12342/foo/bar4"
016- [6]=>
017- string(15) "HTTP/1.0 200 OK"
018- }
019- string(5) "done."
020- string(195) "GET /foo/bar HTTP/1.0
019+ Accept: */*
021+ GET /foo/bar3 HTTP/1.0
022+ User-Agent: PHP/5.4.26
023- GET /foo/bar2 HTTP/1.0
024+ Accept: */*
026+ GET /foo/bar4 HTTP/1.0
027+ User-Agent: PHP/5.4.26
026- GET /foo/bar3 HTTP/1.0
029+ Accept: */*
029- GET /foo/bar4 HTTP/1.0
030- Host: 127.0.0.1:12342
031-
033+ resource(15) of type (stream)
034+ array(2) {
035+ ["headers"]=>
036+ array(0) {
037+ }
038+ ["readbuf"]=>
039+ resource(16) of type (stream)
040+ }
041+ string(0) ""
042+ string(257) "GET /foo/bar HTTP/1.1
043+ User-Agent: PHP/5.4.26
034-
035- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
036- bool(false)
037- string(97) "GET /foo/bar HTTP/1.0
045+ Accept: */*
045-
046- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
047- bool(false)
048- string(48) "GET /foo/bar HTTP/1.0
048+ User-Agent: PHP/5.4.26
050+ Accept: */*
052+ GET /foo/bar3 HTTP/1.0
053+ User-Agent: PHP/5.4.26
054+ Host: 127.0.0.1:12342
055+ Accept: */*
056+
053-
054- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
055- bool(false)
056- string(48) "GET /foo/bar HTTP/1.0
059+ resource(21) of type (stream)
060+ array(2) {
061+ ["headers"]=>
062+ array(0) {
063+ }
064+ ["readbuf"]=>
065+ resource(22) of type (stream)
066+ }
067+ string(1) "1"
068+ string(85) "GET /foo/bar HTTP/1.1
069+ User-Agent: PHP/5.4.26
063- [0]=>
064- string(30) "HTTP/1.0 302 Moved Temporarily"
065- [1]=>
066- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
069- string(48) "GET /foo/bar HTTP/1.0
071+ Accept: */*
075+ resource(27) of type (stream)
076+ array(2) {
077+ ["headers"]=>
078+ array(0) {
079+ }
080+ ["readbuf"]=>
081+ resource(28) of type (stream)
082+ }
083+ string(1) "1"
084+ string(85) "GET /foo/bar HTTP/1.1
085+ User-Agent: PHP/5.4.26
076- [0]=>
077- string(30) "HTTP/1.0 302 Moved Temporarily"
078- [1]=>
079- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
082- string(48) "GET /foo/bar HTTP/1.0
087+ Accept: */*
088- array(4) {
089- [0]=>
090- string(30) "HTTP/1.0 302 Moved Temporarily"
091- [1]=>
092- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
093- [2]=>
094- string(30) "HTTP/1.0 301 Moved Permanently"
095- [3]=>
096- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
093+ ["headers"]=>
094+ array(0) {
095+ }
096+ ["readbuf"]=>
097+ resource(34) of type (stream)
099- string(97) "GET /foo/bar HTTP/1.0
100+ string(85) "GET /foo/bar HTTP/1.1
101+ User-Agent: PHP/5.4.26
103+ Accept: */*
109+ ["headers"]=>
110+ array(0) {
111+ }
112+ ["readbuf"]=>
113+ resource(40) of type (stream)
116+ string(85) "GET /foo/bar HTTP/1.1
117+ User-Agent: PHP/5.4.26
119+ Accept: */*
124+ array(2) {
125+ ["headers"]=>
126+ array(0) {
127+ }
128+ ["readbuf"]=>
129+ resource(46) of type (stream)
132+ string(257) "GET /foo/bar HTTP/1.1
133+ User-Agent: PHP/5.4.26
135+ Accept: */*
138+ User-Agent: PHP/5.4.26
140+ Accept: */*
142+ GET /foo/bar3 HTTP/1.0
143+ User-Agent: PHP/5.4.26
144+ Host: 127.0.0.1:12342
145+ Accept: */*
146+
4 (8%)
003+ array(2) {
004+ ["headers"]=>
005+ array(0) {
006+ }
007+ ["readbuf"]=>
008+ resource(10) of type (stream)
009+ }
010+ string(5) "done."
011+ string(343) "GET /foo/bar HTTP/1.1
012+ User-Agent: PHP/5.4.26
013+ Host: 127.0.0.1:12342
014+ Accept: */*
015+
016+ GET /foo/bar2 HTTP/1.1
017+ User-Agent: PHP/5.4.26
003- array(7) {
004- [0]=>
005- string(30) "HTTP/1.0 302 Moved Temporarily"
006- [1]=>
007- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
008- [2]=>
009- string(30) "HTTP/1.0 301 Moved Permanently"
010- [3]=>
011- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
012- [4]=>
013- string(30) "HTTP/1.0 302 Moved Temporarily"
014- [5]=>
015- string(41) "Location: http://127.0.0.1:12342/foo/bar4"
016- [6]=>
017- string(15) "HTTP/1.0 200 OK"
018- }
019- string(5) "done."
020- string(195) "GET /foo/bar HTTP/1.0
019+ Accept: */*
021+ GET /foo/bar3 HTTP/1.1
022+ User-Agent: PHP/5.4.26
023- GET /foo/bar2 HTTP/1.0
024+ Accept: */*
026+ GET /foo/bar4 HTTP/1.1
027+ User-Agent: PHP/5.4.26
026- GET /foo/bar3 HTTP/1.0
029+ Accept: */*
029- GET /foo/bar4 HTTP/1.0
030- Host: 127.0.0.1:12342
031-
033+ resource(15) of type (stream)
034+ array(2) {
035+ ["headers"]=>
036+ array(0) {
037+ }
038+ ["readbuf"]=>
039+ resource(16) of type (stream)
040+ }
041+ string(0) ""
042+ string(257) "GET /foo/bar HTTP/1.1
043+ User-Agent: PHP/5.4.26
034-
035- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
036- bool(false)
037- string(97) "GET /foo/bar HTTP/1.0
040- GET /foo/bar2 HTTP/1.0
045+ Accept: */*
045-
046- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
047- bool(false)
048- string(48) "GET /foo/bar HTTP/1.0
047+ GET /foo/bar2 HTTP/1.1
048+ User-Agent: PHP/5.4.26
050+ Accept: */*
052+ GET /foo/bar3 HTTP/1.1
053+ User-Agent: PHP/5.4.26
054+ Host: 127.0.0.1:12342
055+ Accept: */*
056+
053-
054- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
055- bool(false)
056- string(48) "GET /foo/bar HTTP/1.0
059+ resource(21) of type (stream)
060+ array(2) {
061+ ["headers"]=>
062+ array(0) {
063+ }
064+ ["readbuf"]=>
065+ resource(22) of type (stream)
066+ }
067+ string(1) "1"
068+ string(85) "GET /foo/bar HTTP/1.1
069+ User-Agent: PHP/5.4.26
063- [0]=>
064- string(30) "HTTP/1.0 302 Moved Temporarily"
065- [1]=>
066- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
069- string(48) "GET /foo/bar HTTP/1.0
071+ Accept: */*
075+ resource(27) of type (stream)
076+ array(2) {
077+ ["headers"]=>
078+ array(0) {
079+ }
080+ ["readbuf"]=>
081+ resource(28) of type (stream)
082+ }
083+ string(1) "1"
084+ string(85) "GET /foo/bar HTTP/1.1
085+ User-Agent: PHP/5.4.26
076- [0]=>
077- string(30) "HTTP/1.0 302 Moved Temporarily"
078- [1]=>
079- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
082- string(48) "GET /foo/bar HTTP/1.0
087+ Accept: */*
088- array(4) {
089- [0]=>
090- string(30) "HTTP/1.0 302 Moved Temporarily"
091- [1]=>
092- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
093- [2]=>
094- string(30) "HTTP/1.0 301 Moved Permanently"
095- [3]=>
096- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
093+ ["headers"]=>
094+ array(0) {
095+ }
096+ ["readbuf"]=>
097+ resource(34) of type (stream)
099- string(97) "GET /foo/bar HTTP/1.0
100+ string(85) "GET /foo/bar HTTP/1.1
101+ User-Agent: PHP/5.4.26
102- GET /foo/bar2 HTTP/1.0
103+ Accept: */*
109+ ["headers"]=>
110+ array(0) {
111+ }
112+ ["readbuf"]=>
113+ resource(40) of type (stream)
116+ string(85) "GET /foo/bar HTTP/1.1
117+ User-Agent: PHP/5.4.26
119+ Accept: */*
124+ array(2) {
125+ ["headers"]=>
126+ array(0) {
127+ }
128+ ["readbuf"]=>
129+ resource(46) of type (stream)
132+ string(257) "GET /foo/bar HTTP/1.1
133+ User-Agent: PHP/5.4.26
135+ Accept: */*
137+ GET /foo/bar2 HTTP/1.1
138+ User-Agent: PHP/5.4.26
140+ Accept: */*
142+ GET /foo/bar3 HTTP/1.1
143+ User-Agent: PHP/5.4.26
144+ Host: 127.0.0.1:12342
145+ Accept: */*
146+
2 (4%)
1 (2%)
003+ array(2) {
004+ ["headers"]=>
005+ array(0) {
006+ }
007+ ["readbuf"]=>
008+ resource(10) of type (stream)
009+ }
010+ string(5) "done."
011+ string(343) "GET /foo/bar HTTP/1.1
012+ User-Agent: PHP/5.4.26
013+ Host: 127.0.0.1:12342
014+ Accept: */*
015+
016+ GET /foo/bar2 HTTP/1.0
017+ User-Agent: PHP/5.4.26
003- array(7) {
004- [0]=>
005- string(30) "HTTP/1.0 302 Moved Temporarily"
006- [1]=>
007- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
008- [2]=>
009- string(30) "HTTP/1.0 301 Moved Permanently"
010- [3]=>
011- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
012- [4]=>
013- string(30) "HTTP/1.0 302 Moved Temporarily"
014- [5]=>
015- string(41) "Location: http://127.0.0.1:12342/foo/bar4"
016- [6]=>
017- string(15) "HTTP/1.0 200 OK"
018- }
019- string(5) "done."
020- string(195) "GET /foo/bar HTTP/1.0
019+ Accept: */*
021+ GET /foo/bar3 HTTP/1.0
022+ User-Agent: PHP/5.4.26
023- GET /foo/bar2 HTTP/1.0
024+ Accept: */*
026+ GET /foo/bar4 HTTP/1.0
027+ User-Agent: PHP/5.4.26
026- GET /foo/bar3 HTTP/1.0
029+ Accept: */*
029- GET /foo/bar4 HTTP/1.0
030- Host: 127.0.0.1:12342
031-
033+ resource(15) of type (stream)
034+ array(2) {
035+ ["headers"]=>
036+ array(4) {
037+ [0]=>
038+ string(30) "HTTP/1.0 302 Moved Temporarily"
039+ [1]=>
040+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
041+ [2]=>
042+ string(30) "HTTP/1.0 301 Moved Permanently"
043+ [3]=>
044+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
045+ }
046+ ["readbuf"]=>
047+ resource(16) of type (stream)
048+ }
049+ string(0) ""
050+ string(257) "GET /foo/bar HTTP/1.1
051+ User-Agent: PHP/5.4.26
052+ Host: 127.0.0.1:12342
053+ Accept: */*
034-
035- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
036- bool(false)
037- string(97) "GET /foo/bar HTTP/1.0
038- Host: 127.0.0.1:12342
039-
040- GET /foo/bar2 HTTP/1.0
041- Host: 127.0.0.1:12342
042-
043- "
044- -- Test: fail at first redirection --
046- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
047- bool(false)
048- string(48) "GET /foo/bar HTTP/1.0
052- -- Test: fail at first redirection (2) --
053-
054- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
055- bool(false)
056- string(48) "GET /foo/bar HTTP/1.0
055+ GET /foo/bar2 HTTP/1.0
056+ User-Agent: PHP/5.4.26
058+ Accept: */*
060+ GET /foo/bar3 HTTP/1.0
061+ User-Agent: PHP/5.4.26
062+ Host: 127.0.0.1:12342
063+ Accept: */*
064+
060- -- Test: return at first redirection --
063- [0]=>
064- string(30) "HTTP/1.0 302 Moved Temporarily"
065- [1]=>
066- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
066+ -- Test: fail at first redirection --
067+ resource(21) of type (stream)
068+ array(2) {
069+ ["headers"]=>
070+ array(0) {
071+ }
072+ ["readbuf"]=>
073+ resource(22) of type (stream)
074+ }
075+ string(1) "1"
076+ string(85) "GET /foo/bar HTTP/1.1
077+ User-Agent: PHP/5.4.26
069- string(48) "GET /foo/bar HTTP/1.0
073- -- Test: return at first redirection (2) --
076- [0]=>
077- string(30) "HTTP/1.0 302 Moved Temporarily"
078- [1]=>
079- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
079+ Accept: */*
082+ -- Test: fail at first redirection (2) --
082- string(48) "GET /foo/bar HTTP/1.0
085+ ["headers"]=>
086+ array(0) {
087+ }
088+ ["readbuf"]=>
089+ resource(28) of type (stream)
086- -- Test: return at second redirection --
088- array(4) {
089- [0]=>
090- string(30) "HTTP/1.0 302 Moved Temporarily"
091- [1]=>
092- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
093- [2]=>
094- string(30) "HTTP/1.0 301 Moved Permanently"
095- [3]=>
096- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
092+ string(85) "GET /foo/bar HTTP/1.1
093+ User-Agent: PHP/5.4.26
095+ Accept: */*
098+ -- Test: return at first redirection --
098- string(0) ""
099- string(97) "GET /foo/bar HTTP/1.0
101+ ["headers"]=>
102+ array(0) {
103+ }
104+ ["readbuf"]=>
105+ resource(34) of type (stream)
102- GET /foo/bar2 HTTP/1.0
103- Host: 127.0.0.1:12342
104-
108+ string(85) "GET /foo/bar HTTP/1.1
109+ User-Agent: PHP/5.4.26
111+ Accept: */*
114+ -- Test: return at first redirection (2) --
116+ array(2) {
117+ ["headers"]=>
118+ array(0) {
119+ }
120+ ["readbuf"]=>
121+ resource(40) of type (stream)
123+ string(1) "1"
124+ string(85) "GET /foo/bar HTTP/1.1
125+ User-Agent: PHP/5.4.26
127+ Accept: */*
130+ -- Test: return at second redirection --
131+ resource(45) of type (stream)
132+ array(2) {
133+ ["headers"]=>
134+ array(0) {
135+ }
136+ ["readbuf"]=>
137+ resource(46) of type (stream)
138+ }
139+ string(0) ""
140+ string(257) "GET /foo/bar HTTP/1.1
141+ User-Agent: PHP/5.4.26
142+ Host: 127.0.0.1:12342
143+ Accept: */*
144+
145+ GET /foo/bar2 HTTP/1.0
146+ User-Agent: PHP/5.4.26
147+ Host: 127.0.0.1:12342
148+ Accept: */*
149+
150+ GET /foo/bar3 HTTP/1.0
151+ User-Agent: PHP/5.4.26
152+ Host: 127.0.0.1:12342
153+ Accept: */*
154+
155+ "
1 (2%)
003+ array(2) {
004+ ["headers"]=>
005+ array(4) {
006+ [0]=>
007+ string(30) "HTTP/1.0 302 Moved Temporarily"
008+ [1]=>
009+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
010+ [2]=>
011+ string(30) "HTTP/1.0 301 Moved Permanently"
012+ [3]=>
013+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
014+ }
015+ ["readbuf"]=>
016+ resource(10) of type (stream)
003- array(7) {
004- [0]=>
005- string(30) "HTTP/1.0 302 Moved Temporarily"
006- [1]=>
007- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
008- [2]=>
009- string(30) "HTTP/1.0 301 Moved Permanently"
010- [3]=>
011- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
012- [4]=>
013- string(30) "HTTP/1.0 302 Moved Temporarily"
014- [5]=>
015- string(41) "Location: http://127.0.0.1:12342/foo/bar4"
016- [6]=>
017- string(15) "HTTP/1.0 200 OK"
019+ string(343) "GET /foo/bar HTTP/1.1
020+ User-Agent: PHP/5.4.26
020- string(195) "GET /foo/bar HTTP/1.0
022+ Accept: */*
023- GET /foo/bar2 HTTP/1.0
024+ GET /foo/bar2 HTTP/1.1
025+ User-Agent: PHP/5.4.26
026- GET /foo/bar3 HTTP/1.0
027+ Accept: */*
029+ GET /foo/bar3 HTTP/1.1
030+ User-Agent: PHP/5.4.26
029- GET /foo/bar4 HTTP/1.0
032+ Accept: */*
034+ GET /foo/bar4 HTTP/1.1
035+ User-Agent: PHP/5.4.26
034-
035- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
036- bool(false)
037- string(97) "GET /foo/bar HTTP/1.0
038- Host: 127.0.0.1:12342
039-
040- GET /foo/bar2 HTTP/1.0
041- Host: 127.0.0.1:12342
042-
043- "
044- -- Test: fail at first redirection --
037+ Accept: */*
041+ resource(15) of type (stream)
042+ array(2) {
043+ ["headers"]=>
044+ array(4) {
045+ [0]=>
046+ string(30) "HTTP/1.0 302 Moved Temporarily"
047+ [1]=>
048+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
049+ [2]=>
050+ string(30) "HTTP/1.0 301 Moved Permanently"
051+ [3]=>
052+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
053+ }
054+ ["readbuf"]=>
055+ resource(16) of type (stream)
056+ }
057+ string(0) ""
058+ string(257) "GET /foo/bar HTTP/1.1
059+ User-Agent: PHP/5.4.26
060+ Host: 127.0.0.1:12342
061+ Accept: */*
046- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
047- bool(false)
048- string(48) "GET /foo/bar HTTP/1.0
052- -- Test: fail at first redirection (2) --
053-
054- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
055- bool(false)
056- string(48) "GET /foo/bar HTTP/1.0
057- Host: 127.0.0.1:12342
058-
059- "
060- -- Test: return at first redirection --
061- resource(%d) of type (stream)
062- array(2) {
063- [0]=>
064- string(30) "HTTP/1.0 302 Moved Temporarily"
065- [1]=>
066- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
063+ GET /foo/bar2 HTTP/1.1
064+ User-Agent: PHP/5.4.26
066+ Accept: */*
068+ GET /foo/bar3 HTTP/1.1
069+ User-Agent: PHP/5.4.26
070+ Host: 127.0.0.1:12342
071+ Accept: */*
072+
069- string(48) "GET /foo/bar HTTP/1.0
073- -- Test: return at first redirection (2) --
074+ -- Test: fail at first redirection --
075+ resource(21) of type (stream)
076+ array(2) {
077+ ["headers"]=>
078+ array(2) {
079+ [0]=>
080+ string(30) "HTTP/1.0 302 Moved Temporarily"
081+ [1]=>
082+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
083+ }
084+ ["readbuf"]=>
085+ resource(22) of type (stream)
076- [0]=>
077- string(30) "HTTP/1.0 302 Moved Temporarily"
078- [1]=>
079- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
082- string(48) "GET /foo/bar HTTP/1.0
086- -- Test: return at second redirection --
088+ string(85) "GET /foo/bar HTTP/1.1
089+ User-Agent: PHP/5.4.26
088- array(4) {
089- [0]=>
090- string(30) "HTTP/1.0 302 Moved Temporarily"
091- [1]=>
092- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
093- [2]=>
094- string(30) "HTTP/1.0 301 Moved Permanently"
095- [3]=>
096- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
091+ Accept: */*
094+ -- Test: fail at first redirection (2) --
097+ ["headers"]=>
098+ array(2) {
099+ [0]=>
100+ string(30) "HTTP/1.0 302 Moved Temporarily"
101+ [1]=>
102+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
103+ }
104+ ["readbuf"]=>
105+ resource(28) of type (stream)
098- string(0) ""
099- string(97) "GET /foo/bar HTTP/1.0
102- GET /foo/bar2 HTTP/1.0
103- Host: 127.0.0.1:12342
104-
108+ string(85) "GET /foo/bar HTTP/1.1
109+ User-Agent: PHP/5.4.26
111+ Accept: */*
114+ -- Test: return at first redirection --
116+ array(2) {
117+ ["headers"]=>
118+ array(0) {
119+ }
120+ ["readbuf"]=>
121+ resource(34) of type (stream)
123+ string(1) "1"
124+ string(85) "GET /foo/bar HTTP/1.1
125+ User-Agent: PHP/5.4.26
127+ Accept: */*
130+ -- Test: return at first redirection (2) --
131+ resource(39) of type (stream)
132+ array(2) {
133+ ["headers"]=>
134+ array(0) {
135+ }
136+ ["readbuf"]=>
137+ resource(40) of type (stream)
138+ }
139+ string(1) "1"
140+ string(85) "GET /foo/bar HTTP/1.1
141+ User-Agent: PHP/5.4.26
142+ Host: 127.0.0.1:12342
143+ Accept: */*
144+
145+ "
146+ -- Test: return at second redirection --
147+ resource(45) of type (stream)
148+ array(2) {
149+ ["headers"]=>
150+ array(0) {
151+ }
152+ ["readbuf"]=>
153+ resource(46) of type (stream)
154+ }
155+ string(0) ""
156+ string(257) "GET /foo/bar HTTP/1.1
157+ User-Agent: PHP/5.4.26
158+ Host: 127.0.0.1:12342
159+ Accept: */*
160+
161+ GET /foo/bar2 HTTP/1.1
162+ User-Agent: PHP/5.4.26
163+ Host: 127.0.0.1:12342
164+ Accept: */*
165+
166+ GET /foo/bar3 HTTP/1.1
167+ User-Agent: PHP/5.4.26
168+ Host: 127.0.0.1:12342
169+ Accept: */*
170+
171+ "
1 (2%)
003+ array(2) {
004+ ["headers"]=>
005+ array(4) {
006+ [0]=>
007+ string(30) "HTTP/1.0 302 Moved Temporarily"
008+ [1]=>
009+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
010+ [2]=>
011+ string(30) "HTTP/1.0 301 Moved Permanently"
012+ [3]=>
013+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
014+ }
015+ ["readbuf"]=>
016+ resource(10) of type (stream)
003- array(7) {
004- [0]=>
005- string(30) "HTTP/1.0 302 Moved Temporarily"
006- [1]=>
007- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
008- [2]=>
009- string(30) "HTTP/1.0 301 Moved Permanently"
010- [3]=>
011- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
012- [4]=>
013- string(30) "HTTP/1.0 302 Moved Temporarily"
014- [5]=>
015- string(41) "Location: http://127.0.0.1:12342/foo/bar4"
016- [6]=>
017- string(15) "HTTP/1.0 200 OK"
019+ string(343) "GET /foo/bar HTTP/1.1
020+ User-Agent: PHP/5.4.26
020- string(195) "GET /foo/bar HTTP/1.0
022+ Accept: */*
023- GET /foo/bar2 HTTP/1.0
024+ GET /foo/bar2 HTTP/1.1
025+ User-Agent: PHP/5.4.26
026- GET /foo/bar3 HTTP/1.0
027+ Accept: */*
029+ GET /foo/bar3 HTTP/1.1
030+ User-Agent: PHP/5.4.26
029- GET /foo/bar4 HTTP/1.0
032+ Accept: */*
034+ GET /foo/bar4 HTTP/1.1
035+ User-Agent: PHP/5.4.26
034-
035- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
036- bool(false)
037- string(97) "GET /foo/bar HTTP/1.0
038- Host: 127.0.0.1:12342
039-
040- GET /foo/bar2 HTTP/1.0
041- Host: 127.0.0.1:12342
042-
043- "
044- -- Test: fail at first redirection --
037+ Accept: */*
041+ resource(15) of type (stream)
042+ array(2) {
043+ ["headers"]=>
044+ array(4) {
045+ [0]=>
046+ string(30) "HTTP/1.0 302 Moved Temporarily"
047+ [1]=>
048+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
049+ [2]=>
050+ string(30) "HTTP/1.0 301 Moved Permanently"
051+ [3]=>
052+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
053+ }
054+ ["readbuf"]=>
055+ resource(16) of type (stream)
056+ }
057+ string(0) ""
058+ string(257) "GET /foo/bar HTTP/1.1
059+ User-Agent: PHP/5.4.26
060+ Host: 127.0.0.1:12342
061+ Accept: */*
046- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
047- bool(false)
048- string(48) "GET /foo/bar HTTP/1.0
052- -- Test: fail at first redirection (2) --
053-
054- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
055- bool(false)
056- string(48) "GET /foo/bar HTTP/1.0
057- Host: 127.0.0.1:12342
058-
059- "
060- -- Test: return at first redirection --
061- resource(%d) of type (stream)
062- array(2) {
063- [0]=>
064- string(30) "HTTP/1.0 302 Moved Temporarily"
065- [1]=>
066- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
063+ GET /foo/bar2 HTTP/1.1
064+ User-Agent: PHP/5.4.26
066+ Accept: */*
068+ GET /foo/bar3 HTTP/1.1
069+ User-Agent: PHP/5.4.26
070+ Host: 127.0.0.1:12342
071+ Accept: */*
072+
069- string(48) "GET /foo/bar HTTP/1.0
073- -- Test: return at first redirection (2) --
074+ -- Test: fail at first redirection --
075+ resource(21) of type (stream)
076+ array(2) {
077+ ["headers"]=>
078+ array(2) {
079+ [0]=>
080+ string(30) "HTTP/1.0 302 Moved Temporarily"
081+ [1]=>
082+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
083+ }
084+ ["readbuf"]=>
085+ resource(22) of type (stream)
076- [0]=>
077- string(30) "HTTP/1.0 302 Moved Temporarily"
078- [1]=>
079- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
082- string(48) "GET /foo/bar HTTP/1.0
086- -- Test: return at second redirection --
088+ string(85) "GET /foo/bar HTTP/1.1
089+ User-Agent: PHP/5.4.26
088- array(4) {
089- [0]=>
090- string(30) "HTTP/1.0 302 Moved Temporarily"
091- [1]=>
092- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
093- [2]=>
094- string(30) "HTTP/1.0 301 Moved Permanently"
095- [3]=>
096- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
091+ Accept: */*
094+ -- Test: fail at first redirection (2) --
097+ ["headers"]=>
098+ array(2) {
099+ [0]=>
100+ string(30) "HTTP/1.0 302 Moved Temporarily"
101+ [1]=>
102+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
103+ }
104+ ["readbuf"]=>
105+ resource(28) of type (stream)
098- string(0) ""
099- string(97) "GET /foo/bar HTTP/1.0
102- GET /foo/bar2 HTTP/1.0
103- Host: 127.0.0.1:12342
104-
108+ string(85) "GET /foo/bar HTTP/1.1
109+ User-Agent: PHP/5.4.26
111+ Accept: */*
114+ -- Test: return at first redirection --
116+ array(2) {
117+ ["headers"]=>
118+ array(2) {
119+ [0]=>
120+ string(30) "HTTP/1.0 302 Moved Temporarily"
121+ [1]=>
122+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
123+ }
124+ ["readbuf"]=>
125+ resource(34) of type (stream)
127+ string(1) "1"
128+ string(85) "GET /foo/bar HTTP/1.1
129+ User-Agent: PHP/5.4.26
131+ Accept: */*
134+ -- Test: return at first redirection (2) --
135+ resource(39) of type (stream)
136+ array(2) {
137+ ["headers"]=>
138+ array(2) {
139+ [0]=>
140+ string(30) "HTTP/1.0 302 Moved Temporarily"
141+ [1]=>
142+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
143+ }
144+ ["readbuf"]=>
145+ resource(40) of type (stream)
146+ }
147+ string(1) "1"
148+ string(85) "GET /foo/bar HTTP/1.1
149+ User-Agent: PHP/5.4.26
150+ Host: 127.0.0.1:12342
151+ Accept: */*
152+
153+ "
154+ -- Test: return at second redirection --
155+ resource(45) of type (stream)
156+ array(2) {
157+ ["headers"]=>
158+ array(4) {
159+ [0]=>
160+ string(30) "HTTP/1.0 302 Moved Temporarily"
161+ [1]=>
162+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
163+ [2]=>
164+ string(30) "HTTP/1.0 301 Moved Permanently"
165+ [3]=>
166+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
167+ }
168+ ["readbuf"]=>
169+ resource(46) of type (stream)
170+ }
171+ string(0) ""
172+ string(257) "GET /foo/bar HTTP/1.1
173+ User-Agent: PHP/5.4.26
174+ Host: 127.0.0.1:12342
175+ Accept: */*
176+
177+ GET /foo/bar2 HTTP/1.1
178+ User-Agent: PHP/5.4.26
179+ Host: 127.0.0.1:12342
180+ Accept: */*
181+
182+ GET /foo/bar3 HTTP/1.1
183+ User-Agent: PHP/5.4.26
184+ Host: 127.0.0.1:12342
185+ Accept: */*
186+
187+ "
1 (2%)
003+ array(2) {
004+ ["headers"]=>
005+ array(4) {
006+ [0]=>
007+ string(30) "HTTP/1.0 302 Moved Temporarily"
008+ [1]=>
009+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
010+ [2]=>
011+ string(30) "HTTP/1.0 301 Moved Permanently"
012+ [3]=>
013+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
014+ }
015+ ["readbuf"]=>
016+ resource(10) of type (stream)
003- array(7) {
004- [0]=>
005- string(30) "HTTP/1.0 302 Moved Temporarily"
006- [1]=>
007- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
008- [2]=>
009- string(30) "HTTP/1.0 301 Moved Permanently"
010- [3]=>
011- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
012- [4]=>
013- string(30) "HTTP/1.0 302 Moved Temporarily"
014- [5]=>
015- string(41) "Location: http://127.0.0.1:12342/foo/bar4"
016- [6]=>
017- string(15) "HTTP/1.0 200 OK"
019+ string(343) "GET /foo/bar HTTP/1.1
020+ User-Agent: PHP/5.4.26
020- string(195) "GET /foo/bar HTTP/1.0
022+ Accept: */*
025+ User-Agent: PHP/5.4.26
027+ Accept: */*
030+ User-Agent: PHP/5.4.26
032+ Accept: */*
034-
035- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
036- bool(false)
037- string(97) "GET /foo/bar HTTP/1.0
035+ User-Agent: PHP/5.4.26
037+ Accept: */*
041+ resource(15) of type (stream)
042+ array(2) {
043+ ["headers"]=>
044+ array(0) {
045+ }
046+ ["readbuf"]=>
047+ resource(16) of type (stream)
048+ }
049+ string(0) ""
050+ string(257) "GET /foo/bar HTTP/1.1
051+ User-Agent: PHP/5.4.26
045-
046- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
047- bool(false)
048- string(48) "GET /foo/bar HTTP/1.0
053+ Accept: */*
053-
054- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
055- bool(false)
056- string(48) "GET /foo/bar HTTP/1.0
056+ User-Agent: PHP/5.4.26
058+ Accept: */*
060+ GET /foo/bar3 HTTP/1.0
061+ User-Agent: PHP/5.4.26
062+ Host: 127.0.0.1:12342
063+ Accept: */*
064+
063- [0]=>
064- string(30) "HTTP/1.0 302 Moved Temporarily"
065- [1]=>
066- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
067+ resource(21) of type (stream)
068+ array(2) {
069+ ["headers"]=>
070+ array(0) {
071+ }
072+ ["readbuf"]=>
073+ resource(22) of type (stream)
074+ }
075+ string(1) "1"
076+ string(85) "GET /foo/bar HTTP/1.1
077+ User-Agent: PHP/5.4.26
069- string(48) "GET /foo/bar HTTP/1.0
076- [0]=>
077- string(30) "HTTP/1.0 302 Moved Temporarily"
078- [1]=>
079- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
079+ Accept: */*
082- string(48) "GET /foo/bar HTTP/1.0
083+ resource(27) of type (stream)
084+ array(2) {
085+ ["headers"]=>
086+ array(0) {
087+ }
088+ ["readbuf"]=>
089+ resource(28) of type (stream)
090+ }
091+ string(1) "1"
092+ string(85) "GET /foo/bar HTTP/1.1
093+ User-Agent: PHP/5.4.26
088- array(4) {
089- [0]=>
090- string(30) "HTTP/1.0 302 Moved Temporarily"
091- [1]=>
092- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
093- [2]=>
094- string(30) "HTTP/1.0 301 Moved Permanently"
095- [3]=>
096- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
095+ Accept: */*
099- string(97) "GET /foo/bar HTTP/1.0
101+ ["headers"]=>
102+ array(0) {
103+ }
104+ ["readbuf"]=>
105+ resource(34) of type (stream)
108+ string(85) "GET /foo/bar HTTP/1.1
109+ User-Agent: PHP/5.4.26
111+ Accept: */*
117+ ["headers"]=>
118+ array(0) {
119+ }
120+ ["readbuf"]=>
121+ resource(40) of type (stream)
124+ string(85) "GET /foo/bar HTTP/1.1
125+ User-Agent: PHP/5.4.26
127+ Accept: */*
132+ array(2) {
133+ ["headers"]=>
134+ array(0) {
135+ }
136+ ["readbuf"]=>
137+ resource(46) of type (stream)
140+ string(257) "GET /foo/bar HTTP/1.1
141+ User-Agent: PHP/5.4.26
143+ Accept: */*
146+ User-Agent: PHP/5.4.26
148+ Accept: */*
150+ GET /foo/bar3 HTTP/1.0
151+ User-Agent: PHP/5.4.26
152+ Host: 127.0.0.1:12342
153+ Accept: */*
154+
1 (2%)
003+ array(2) {
004+ ["headers"]=>
005+ array(4) {
006+ [0]=>
007+ string(30) "HTTP/1.0 302 Moved Temporarily"
008+ [1]=>
009+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
010+ [2]=>
011+ string(30) "HTTP/1.0 301 Moved Permanently"
012+ [3]=>
013+ string(41) "Location: http://127.0.0.1:12342/foo/bar3"
014+ }
015+ ["readbuf"]=>
016+ resource(10) of type (stream)
003- array(7) {
004- [0]=>
005- string(30) "HTTP/1.0 302 Moved Temporarily"
006- [1]=>
007- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
008- [2]=>
009- string(30) "HTTP/1.0 301 Moved Permanently"
010- [3]=>
011- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
012- [4]=>
013- string(30) "HTTP/1.0 302 Moved Temporarily"
014- [5]=>
015- string(41) "Location: http://127.0.0.1:12342/foo/bar4"
016- [6]=>
017- string(15) "HTTP/1.0 200 OK"
019+ string(343) "GET /foo/bar HTTP/1.1
020+ User-Agent: PHP/5.4.26
020- string(195) "GET /foo/bar HTTP/1.0
022+ Accept: */*
025+ User-Agent: PHP/5.4.26
027+ Accept: */*
030+ User-Agent: PHP/5.4.26
032+ Accept: */*
034-
035- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
036- bool(false)
037- string(97) "GET /foo/bar HTTP/1.0
035+ User-Agent: PHP/5.4.26
037+ Accept: */*
041+ resource(15) of type (stream)
042+ array(2) {
043+ ["headers"]=>
044+ array(0) {
045+ }
046+ ["readbuf"]=>
047+ resource(16) of type (stream)
048+ }
049+ string(0) ""
050+ string(257) "GET /foo/bar HTTP/1.1
051+ User-Agent: PHP/5.4.26
045-
046- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
047- bool(false)
048- string(48) "GET /foo/bar HTTP/1.0
053+ Accept: */*
053-
054- Warning: fopen(http://127.0.0.1:12342/foo/bar): failed to open stream: Redirection limit reached, aborting in %s
055- bool(false)
056- string(48) "GET /foo/bar HTTP/1.0
057- Host: 127.0.0.1:12342
058-
059- "
060- -- Test: return at first redirection --
061- resource(%d) of type (stream)
062- array(2) {
063- [0]=>
064- string(30) "HTTP/1.0 302 Moved Temporarily"
065- [1]=>
066- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
056+ User-Agent: PHP/5.4.26
058+ Accept: */*
060+ GET /foo/bar3 HTTP/1.0
061+ User-Agent: PHP/5.4.26
062+ Host: 127.0.0.1:12342
063+ Accept: */*
064+
067+ resource(21) of type (stream)
068+ array(2) {
069+ ["headers"]=>
070+ array(0) {
071+ }
072+ ["readbuf"]=>
073+ resource(22) of type (stream)
074+ }
075+ string(1) "1"
076+ string(85) "GET /foo/bar HTTP/1.1
077+ User-Agent: PHP/5.4.26
069- string(48) "GET /foo/bar HTTP/1.0
073- -- Test: return at first redirection (2) --
076- [0]=>
077- string(30) "HTTP/1.0 302 Moved Temporarily"
078- [1]=>
079- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
079+ Accept: */*
082- string(48) "GET /foo/bar HTTP/1.0
083+ resource(27) of type (stream)
084+ array(2) {
085+ ["headers"]=>
086+ array(2) {
087+ [0]=>
088+ string(30) "HTTP/1.0 302 Moved Temporarily"
089+ [1]=>
090+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
091+ }
092+ ["readbuf"]=>
093+ resource(28) of type (stream)
086- -- Test: return at second redirection --
088- array(4) {
089- [0]=>
090- string(30) "HTTP/1.0 302 Moved Temporarily"
091- [1]=>
092- string(41) "Location: http://127.0.0.1:12342/foo/bar2"
093- [2]=>
094- string(30) "HTTP/1.0 301 Moved Permanently"
095- [3]=>
096- string(41) "Location: http://127.0.0.1:12342/foo/bar3"
096+ string(85) "GET /foo/bar HTTP/1.1
097+ User-Agent: PHP/5.4.26
098- string(0) ""
099- string(97) "GET /foo/bar HTTP/1.0
099+ Accept: */*
102+ -- Test: return at first redirection --
102- GET /foo/bar2 HTTP/1.0
103- Host: 127.0.0.1:12342
104-
105+ ["headers"]=>
106+ array(2) {
107+ [0]=>
108+ string(30) "HTTP/1.0 302 Moved Temporarily"
109+ [1]=>
110+ string(41) "Location: http://127.0.0.1:12342/foo/bar2"
111+ }
112+ ["readbuf"]=>
113+ resource(34) of type (stream)
116+ string(85) "GET /foo/bar HTTP/1.1
117+ User-Agent: PHP/5.4.26
119+ Accept: */*
122+ -- Test: return at first redirection (2) --
124+ array(2) {
125+ ["headers"]=>
126+ array(0) {
127+ }
128+ ["readbuf"]=>
129+ resource(40) of type (stream)
131+ string(1) "1"
132+ string(85) "GET /foo/bar HTTP/1.1
133+ User-Agent: PHP/5.4.26
135+ Accept: */*
138+ -- Test: return at second redirection --
139+ resource(45) of type (stream)
140+ array(2) {
141+ ["headers"]=>
142+ array(0) {
143+ }
144+ ["readbuf"]=>
145+ resource(46) of type (stream)
146+ }
147+ string(0) ""
148+ string(257) "GET /foo/bar HTTP/1.1
149+ User-Agent: PHP/5.4.26
150+ Host: 127.0.0.1:12342
151+ Accept: */*
152+
153+ GET /foo/bar2 HTTP/1.0
154+ User-Agent: PHP/5.4.26
155+ Host: 127.0.0.1:12342
156+ Accept: */*
157+
158+ GET /foo/bar3 HTTP/1.0
159+ User-Agent: PHP/5.4.26
160+ Host: 127.0.0.1:12342
161+ Accept: */*
162+
163+ "