]> granicus.if.org Git - php/commitdiff
Add php_cli_server_connect() helper
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 8 Apr 2020 15:10:20 +0000 (17:10 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 8 Apr 2020 15:10:20 +0000 (17:10 +0200)
To encapsulate the repeated fsockopen() code.

This gives us a chance to control the timeout in one place:
Raise it to one second.

33 files changed:
sapi/cli/tests/bug43177.phpt
sapi/cli/tests/bug61679.phpt
sapi/cli/tests/bug61977.phpt
sapi/cli/tests/bug65066_100.phpt
sapi/cli/tests/bug65066_422.phpt
sapi/cli/tests/bug65066_511.phpt
sapi/cli/tests/bug65633.phpt
sapi/cli/tests/bug66606_2.phpt
sapi/cli/tests/bug66830.phpt
sapi/cli/tests/bug67429_1.phpt
sapi/cli/tests/bug67429_2.phpt
sapi/cli/tests/bug68745.phpt
sapi/cli/tests/bug70470.phpt
sapi/cli/tests/bug71005.phpt
sapi/cli/tests/emptyheader.phpt
sapi/cli/tests/php_cli_server.inc
sapi/cli/tests/php_cli_server_004.phpt
sapi/cli/tests/php_cli_server_005.phpt
sapi/cli/tests/php_cli_server_006.phpt
sapi/cli/tests/php_cli_server_007.phpt
sapi/cli/tests/php_cli_server_008.phpt
sapi/cli/tests/php_cli_server_009.phpt
sapi/cli/tests/php_cli_server_010.phpt
sapi/cli/tests/php_cli_server_012.phpt
sapi/cli/tests/php_cli_server_013.phpt
sapi/cli/tests/php_cli_server_014.phpt
sapi/cli/tests/php_cli_server_015.phpt
sapi/cli/tests/php_cli_server_016.phpt
sapi/cli/tests/php_cli_server_017.phpt
sapi/cli/tests/php_cli_server_018.phpt
sapi/cli/tests/php_cli_server_019.phpt
sapi/cli/tests/php_cli_server_020.phpt
sapi/cli/tests/upload_2G.phpt

index 87dc8927ff10213a585a3e682efdcdcb54e82758..2ab08228b918934743c8ea9b7fb77e04bf3892fa 100644 (file)
@@ -35,15 +35,10 @@ php_cli_server_start(<<<'SCRIPT'
 SCRIPT
 );
 
-list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
-$port = intval($port)?:80;
+$host = PHP_CLI_SERVER_HOSTNAME;
 
 foreach(array("parse", "fatal", "fatal2", "compile") as $url) {
-       $fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-       if (!$fp) {
-               die("connect failed");
-       }
-
+    $fp = php_cli_server_connect();
        if(fwrite($fp, <<<HEADER
 GET /$url HTTP/1.1
 Host: {$host}
index 3ba36d572c6073f90a97c3daddea2202a2c02c61..77f7bdfc1e9deb4b680973071f7920255316fc31 100644 (file)
@@ -12,13 +12,8 @@ echo "This should never echo";
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 // Send a request with a fictitious request method,
 // I like smurfs, the smurf everything.
index 1b29dea31bdc5bd713c37a8bc64be5cf36dc6992..b55c6a2e8ffb025852be821a4dbef57adb55caa1 100644 (file)
@@ -17,9 +17,8 @@ $mimetypes = ['html', 'htm', 'svg', 'css', 'js', 'png', 'webm', 'ogv', 'ogg'];
 
 function test_mimetypes($mimetypes) {
     foreach ($mimetypes as $mimetype) {
-        list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
-        $port = intval($port) ? : 80;
-        $fp   = fsockopen($host, $port, $errno, $errstr, 0.5);
+        $host = PHP_CLI_SERVER_HOSTNAME;
+        $fp = php_cli_server_connect();
         if (!$fp) die('Connect failed');
         file_put_contents(__DIR__ . "/foo.{$mimetype}", '');
         $header = <<<HEADER
index 4203b7444c090c85fe20a63a08131415ee7f6cce..33f71cbd8b10bfe3af5542a2b550a5c97c7b2e2c 100644 (file)
@@ -11,13 +11,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('http_response_code(100);');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index e8b497e923666201efaef881947cc3d860b11b5e..99827640a1d8418d3e0bd878fb813a4f9a07bdf3 100644 (file)
@@ -11,13 +11,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('http_response_code(422);');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 7e5548aadcaf9442868c2e8a496b04f7e1370299..91042efed18f9bc5417327fb0e366c97238b4ad1 100644 (file)
@@ -11,13 +11,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('http_response_code(511);');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 2e9f2796e8055f52563db3b6992ab1fc9b3c795b..7b247b5dae730cda82ec4515b854c73940860cb0 100644 (file)
@@ -12,13 +12,8 @@ var_dump($_COOKIE, $_SERVER['HTTP_FOO']);
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index d8bd6162a4b3a69b578b5acba50baaca22c0b93e..f96a02a5f70f8d7bc2173be938a0fda93f2b0820 100644 (file)
@@ -11,13 +11,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('var_dump($_SERVER["CONTENT_TYPE"], $_SERVER["CONTENT_LENGTH"])');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if (fwrite($fp, <<<HEADER
 POST /index.php HTTP/1.1
index a53dbb8a201643e5684d292ccefad73e365fa6f1..ee27b1c6e0f9e632b1e21746bc40d20aee7ab076 100644 (file)
@@ -12,13 +12,8 @@ header(' ');
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 8f3d6c79bc4abddd1cdd2d8c69296c51a70e3ce7..5b23818bdb08892cfb036c73af519ca1e1e6d774 100644 (file)
@@ -13,13 +13,8 @@ http_response_code(308);
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 77447686a4f10647201511cf9f1f98a01b4c3e04..381c7af8e5d8d74289c1cb216e2a19010a8e5097 100644 (file)
@@ -13,13 +13,8 @@ http_response_code(426);
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 4cdfe0ae4e9412b62202662721c47ebbee26ed1c..e7bc49ac796573e7cb2600f315f56399fdc685a8 100644 (file)
@@ -9,13 +9,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('var_dump(count($_SERVER));', 'not-index.php');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, "GET www.example.com:80 HTTP/1.1\r\n\r\n")) {
     while (!feof($fp)) {
index 1e05f184b40bedbe653a69914d0c40d600883333..077e253787d6a949ce2403e17adbea6000a033a6 100644 (file)
@@ -9,11 +9,7 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start("var_dump(getAllheaders());");
 
-$fp = fsockopen(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT, $errno, $errmsg, 0.5);
-
-if (!$fp) {
-       die("connect failed: " . $errmsg);
-}
+$fp = php_cli_server_connect();
 
 fwrite($fp, "GET / HTTP/1.1\r\n");
 fwrite($fp, "Host: " . PHP_CLI_SERVER_HOSTNAME . "\r\n");
index 6a163d4639e943cd6b6dcff1591cd65500359fbe..70521dbaec5f8709f800aea3c7b2d1a4dd138afd 100644 (file)
@@ -15,13 +15,8 @@ EOF;
 include "php_cli_server.inc";
 php_cli_server_start($code);
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 9529730e8b598814cc958d2c70d487c496856224..f301108b725159c8f3d92202e2b92fe46dbe4887 100644 (file)
@@ -9,11 +9,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start("var_dump(getAllheaders());");
 
-$fp = fsockopen(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT, $errno, $errmsg, 0.5);
-
-if (!$fp) {
-       die("connect failed: " . $errmsg);
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 fwrite($fp, "GET / HTTP/1.1\r\nUser-Agent\r\nAccept: */*\r\nReferer:\r\nHi\r\n\r\n");
 fflush($fp);
index 679a55eed4c02181d19ff46857f4f252ee103e77..d5f28cbb54ca0e1a868617ac6f41bcee5a3883c7 100644 (file)
@@ -1,7 +1,7 @@
 <?php
-define ("PHP_CLI_SERVER_HOSTNAME", "localhost");
-define ("PHP_CLI_SERVER_PORT", 8964);
-define ("PHP_CLI_SERVER_ADDRESS", PHP_CLI_SERVER_HOSTNAME.":".PHP_CLI_SERVER_PORT);
+define("PHP_CLI_SERVER_HOSTNAME", "localhost");
+define("PHP_CLI_SERVER_PORT", 8964);
+define("PHP_CLI_SERVER_ADDRESS", PHP_CLI_SERVER_HOSTNAME.":".PHP_CLI_SERVER_PORT);
 
 function php_cli_server_start(
        ?string $code = 'echo "Hello world";',
@@ -96,4 +96,14 @@ php_cli_server_start_error:
 
     return $handle;
 }
+
+function php_cli_server_connect() {
+    $timeout = 1.0;
+    $fp = fsockopen(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT, $errno, $errstr, $timeout);
+    if (!$fp) {
+        die("connect failed");
+    }
+    return $fp;
+}
+
 ?>
index 9c93de3f927f70b81934f8cd0081f673a083be73..d9c3b171f28f7467ac86e719115f1f7bb9328442 100644 (file)
@@ -11,13 +11,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('foreach($_SERVER as $k=>$v) { if (!strncmp($k, "HTTP", 4)) var_dump( $k . ":" . $v); }');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index f89245df11713b95ee257bd66b4f5286c42aa639..2d6243227006627613e3505bdd09d67f0c73f7ba 100644 (file)
@@ -9,13 +9,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('var_dump($_FILES);');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 $post_data = <<<POST
 -----------------------------114782935826962
index ee851b0edd7f4da2af9f1e31fdf5600074ebaf87..68f2b9789ef75a5fde59ef4c3bac05aee4dceeb8 100644 (file)
@@ -9,13 +9,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('var_dump($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"]);');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 3e8fc5f48d761e744d55f94cfbd97e9e7a83c975..b120befa95a7c1548a2016afc04e663272454a65 100644 (file)
@@ -9,13 +9,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('header(\'WWW-Authenticate: Digest realm="foo",qop="auth",nonce="XXXXX",opaque="'.md5("foo").'"\');');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 2d9955c031e8ee58c99ec5eb09a447c0686e1e5b..a6442e07ebc982056055da71d91e10736be5fc20 100644 (file)
@@ -9,13 +9,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('var_dump($_SERVER["SERVER_PROTOCOL"]);');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
@@ -31,11 +26,7 @@ HEADER
 
 fclose($fp);
 
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
-
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.0
index cb4a14cb0828f5cb3fb9733981894b4fda9ff71b..988f484613d26160b2219af62e6ed4a0770cd8a2 100644 (file)
@@ -12,13 +12,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('var_dump($_SERVER["PATH_INFO"]);', 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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET /foo/bar HTTP/1.1
@@ -34,11 +29,7 @@ HEADER
 
 fclose($fp);
 
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
-
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET /foo/bar/ HTTP/1.0
@@ -54,11 +45,7 @@ HEADER
 
 fclose($fp);
 
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
-
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET /foo/bar.js HTTP/1.0
index 22cf3de344866cdbcb8ab74df2945bc826db1aa4..b3b18498b32fc412fd99f3ecd3eba1f7de2188c3 100644 (file)
@@ -9,13 +9,8 @@ include "skipif.inc";
 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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET /foo/bar?foo=bar HTTP/1.1
@@ -31,11 +26,7 @@ HEADER
 
 fclose($fp);
 
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
-
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET /index.php/foo/bar/?foo=bar HTTP/1.0
index d60d71b02a93accedc00f9cf7d6dee04994cd344..8796bd6fa296d9bc5e60ba683db6807366321789 100644 (file)
@@ -11,13 +11,8 @@ php_cli_server_start('print_r($_REQUEST); $_REQUEST["foo"] = "bar"; return FALSE
 $doc_root = __DIR__;
 file_put_contents($doc_root . '/request.php', '<?php print_r($_REQUEST); ?>');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 POST /request.php HTTP/1.1
index ec8957c8d14dd13acdcca8003a182e7ba011d574..09faa1cc0f0cc4dfa1465dd980750c5f421425fd 100644 (file)
@@ -9,15 +9,10 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start(NULL, NULL);
 
-list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
-$port = intval($port)?:80;
 $output = '';
 
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
-
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 POST / HTTP/1.1
@@ -38,10 +33,7 @@ fclose($fp);
 
 
 $output = '';
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET /main/style.css HTTP/1.1
@@ -59,10 +51,7 @@ echo preg_replace("/<style>(.*?)<\/style>/s", "<style>AAA</style>", $output), "\
 fclose($fp);
 
 $output = '';
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 HEAD /main/foo/bar HTTP/1.1
index 11db82ce9096675f7bb0336787a5be7d839cab1b..1106c800e8d457bfea3cd6af8223dd20955aaa90 100644 (file)
@@ -9,18 +9,9 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('echo "done\n";', null);
 
-list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
-$port = intval($port)?:80;
 $output = '';
-
-// note: select() on Windows (& some other platforms) has historical issues with
-//       timeouts less than 1000 millis(0.5). it may be better to increase these
-//       timeouts to 1000 millis(1.0) (fsockopen eventually calls select()).
-//       see articles like: http://support.microsoft.com/kb/257821
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 POST /index.php HTTP/1.1
@@ -40,7 +31,7 @@ HEADER
 
 fclose($fp);
 
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+$fp = php_cli_server_connect();
 if(fwrite($fp, <<<HEADER
 POST /main/no-exists.php HTTP/1.1
 Host: {$host}
index 990a3db97e72a6243ae9c7341435a70cdbb9db64..dc0e50ab15c16bfc1201e55ac88012668d2b345f 100644 (file)
@@ -14,14 +14,9 @@ $dir = realpath(__DIR__);
 
 file_put_contents($dir . "/syntax_error.php", "<?php non_exists_function(); ?>");
 
-list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
-$port = intval($port)?:80;
 $output = '';
-
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET /index.php HTTP/1.1
index ae1d3f272abc88befc9d8dbf042df9f702fa87c3..d56cef4a64187113a6d350879257866552cd57f0 100644 (file)
@@ -19,13 +19,8 @@ else {
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 POST /no-exists.jpg HTTP/1.1
index 067d504800e398f6085a7cc0a5de2315ac6c864d..22d62c3b5ec5be30f30b5350b9378c93124d6b11 100644 (file)
@@ -12,13 +12,8 @@ var_dump($_SERVER['SCRIPT_FILENAME']);
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 POST / HTTP/1.1
index acfb0f2ce3ae1668fb6c69449a4ffaa15ec914dc..9ed16c13958eea1a2b6d3ca4b907b0fa85a2ba38 100644 (file)
@@ -12,13 +12,8 @@ var_dump($_SERVER['REQUEST_METHOD']);
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 PATCH / HTTP/1.1
index 7be87a86c9e0b36f793552125a0eaaef5b817b2b..ce74c79535e6fbac4b3aefcf95deba0ce29e16c2 100644 (file)
@@ -15,13 +15,8 @@ var_dump(apache_response_headers());
 PHP
 );
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 GET / HTTP/1.1
index 23a8bc40e123f78b87de7435b21a83519af61f61..eb2a255a097a6d8e69c8c65460f75c6b45360c72 100644 (file)
@@ -9,13 +9,8 @@ include "skipif.inc";
 include "php_cli_server.inc";
 php_cli_server_start('var_dump($_SERVER["REQUEST_METHOD"]);');
 
-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");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 if(fwrite($fp, <<<HEADER
 SEARCH / HTTP/1.1
index 82bbbca481a9f994ff8a5d199a018c6b4d476dec..6ac1bbf0aa4eedb1930cf6ba0e71a8eb0ca2f596 100644 (file)
@@ -46,15 +46,11 @@ include "php_cli_server.inc";
 php_cli_server_start("var_dump(\$_FILES);", null,
        ["-d", "post_max_size=3G", "-d", "upload_max_filesize=3G"]);
 
-list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
-$port = intval($port)?:80;
 $length = 2150000000;
 $output = "";
 
-$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
-if (!$fp) {
-  die("connect failed");
-}
+$host = PHP_CLI_SERVER_HOSTNAME;
+$fp = php_cli_server_connect();
 
 $prev = "----123
 Content-Type: text/plain; charset=UTF-8