mirror of
https://github.com/php/php-src.git
synced 2024-11-30 21:35:36 +08:00
6ab4e330ac
Port the main php_cli_server.inc to use ephemeral ports, thus allowing CLI server tests to be parallelized. A complication here is that we also need to give each test a separate doc root, to avoid index.php files writing over each other. Closes GH-6375.
46 lines
1.0 KiB
PHP
46 lines
1.0 KiB
PHP
--TEST--
|
|
php://input is empty when enable_post_data_reading=Off
|
|
--INI--
|
|
allow_url_fopen=1
|
|
--SKIPIF--
|
|
<?php
|
|
include __DIR__."/../../sapi/cli/tests/skipif.inc";
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
require __DIR__."/../../sapi/cli/tests/php_cli_server.inc";
|
|
|
|
$code =
|
|
<<<'FL'
|
|
if(!ini_get('enable_post_data_reading')){
|
|
if($_SERVER['REQUEST_METHOD']=='POST'){
|
|
exit(file_get_contents('php://input'));
|
|
}
|
|
}else{
|
|
exit('Please SET php.ini: enable_post_data_reading = Off');
|
|
}
|
|
FL;
|
|
|
|
$postdata = "PASS";
|
|
|
|
$opts = array('http' =>
|
|
array(
|
|
'method' => 'POST',
|
|
'header' => 'Content-type: application/x-www-form-urlencoded',
|
|
'content' => $postdata
|
|
)
|
|
);
|
|
|
|
$context = stream_context_create($opts);
|
|
|
|
php_cli_server_start(
|
|
"exit(file_get_contents('php://input'));", null,
|
|
["-d", "enable_post_data_reading=Off"]);
|
|
|
|
var_dump(file_get_contents("http://" . PHP_CLI_SERVER_ADDRESS, false, $context));
|
|
var_dump(file_get_contents("http://" . PHP_CLI_SERVER_ADDRESS, false, $context));
|
|
?>
|
|
--EXPECT--
|
|
string(4) "PASS"
|
|
string(4) "PASS"
|