mirror of
https://github.com/php/php-src.git
synced 2025-08-19 08:49:28 +02:00

This is required to write tests that behave differently when an index.php isn't present in the document root. (Such as the one I'm about to commit.)
75 lines
1.2 KiB
PHP
75 lines
1.2 KiB
PHP
--TEST--
|
|
Bug #60180 ($_SERVER["PHP_SELF"] incorrect)
|
|
--SKIPIF--
|
|
<?php
|
|
include "skipif.inc";
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
include "php_cli_server.inc";
|
|
php_cli_server_start('var_dump($_SERVER["PHP_SELF"], $_SERVER["SCRIPT_NAME"], $_SERVER["PATH_INFO"], $_SERVER["QUERY_STRING"]);', null);
|
|
|
|
list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
|
|
$port = intval($port)?:80;
|
|
|
|
$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
|
|
if (!$fp) {
|
|
die("connect failed");
|
|
}
|
|
|
|
if(fwrite($fp, <<<HEADER
|
|
GET /foo/bar?foo=bar HTTP/1.1
|
|
Host: {$host}
|
|
|
|
|
|
HEADER
|
|
)) {
|
|
while (!feof($fp)) {
|
|
echo fgets($fp);
|
|
}
|
|
}
|
|
|
|
fclose($fp);
|
|
|
|
$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
|
|
if (!$fp) {
|
|
die("connect failed");
|
|
}
|
|
|
|
|
|
if(fwrite($fp, <<<HEADER
|
|
GET /index.php/foo/bar/?foo=bar HTTP/1.0
|
|
Host: {$host}
|
|
|
|
|
|
HEADER
|
|
)) {
|
|
while (!feof($fp)) {
|
|
echo fgets($fp);
|
|
}
|
|
}
|
|
|
|
fclose($fp);
|
|
|
|
?>
|
|
--EXPECTF--
|
|
HTTP/1.1 200 OK
|
|
Host: %s
|
|
Connection: close
|
|
X-Powered-By: PHP/%s
|
|
Content-type: text/html
|
|
|
|
string(18) "/index.php/foo/bar"
|
|
string(10) "/index.php"
|
|
string(8) "/foo/bar"
|
|
string(7) "foo=bar"
|
|
HTTP/1.0 200 OK
|
|
Host: %s
|
|
Connection: close
|
|
X-Powered-By: PHP/%s
|
|
Content-type: text/html
|
|
|
|
string(19) "/index.php/foo/bar/"
|
|
string(10) "/index.php"
|
|
string(9) "/foo/bar/"
|
|
string(7) "foo=bar"
|