Commit: 1e60d0c105f065f395b5ae02608eaec9b42708f8 Author: Xinchen Hui <larue...@php.net> Wed, 9 May 2012 11:27:39 +0800 Parents: 7b2ab569976f63b22ba1c69e78e782a693d5076a Branches: PHP-5.4
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1e60d0c105f065f395b5ae02608eaec9b42708f8 Log: Implemented FR #61977 (Need CLI web-server support for files with .htm & svg extensions) Bugs: https://bugs.php.net/61977 Changed paths: M NEWS M sapi/cli/php_cli_server.c A sapi/cli/tests/bug61977.phpt Diff: diff --git a/NEWS b/NEWS index d989f34..cb00f7a 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ PHP NEWS ?? ??? 2012, PHP 5.4.2 - CLI Server: + . Implemented FR #61977 (Need CLI web-server support for files with .htm & + svg extensions). (Sixd, Laruence) . Fixed bug #61546 (functions related to current script failed when chdir() in cli sapi). (Laruence, reeze....@gmail.com) . Improved performance while sending error page, this also fixed diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index e052aa8..87ab7b4 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -251,15 +251,17 @@ static php_cli_server_http_reponse_status_code_pair template_map[] = { }; static php_cli_server_ext_mime_type_pair mime_type_map[] = { + { "html", "text/html" }, + { "htm", "text/html" }, + { "js", "text/javascript" }, + { "css", "text/css" }, { "gif", "image/gif" }, - { "png", "image/png" }, - { "jpe", "image/jpeg" }, { "jpg", "image/jpeg" }, { "jpeg", "image/jpeg" }, - { "css", "text/css" }, - { "html", "text/html" }, + { "png", "image/png" }, + { "jpe", "image/jpeg" }, + { "svg", "image/svg+xml" }, { "txt", "text/plain" }, - { "js", "text/javascript" }, { NULL, NULL } }; diff --git a/sapi/cli/tests/bug61977.phpt b/sapi/cli/tests/bug61977.phpt new file mode 100644 index 0000000..edb7b78 --- /dev/null +++ b/sapi/cli/tests/bug61977.phpt @@ -0,0 +1,157 @@ +--TEST-- +Bug #60159 (Router returns false, but POST is not passed to requested resource) +--SKIPIF-- +<?php +include "skipif.inc"; +?> +--FILE-- +<?php +include "php_cli_server.inc"; +php_cli_server_start('<?php ?>', true); +$doc_root = __DIR__; + +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"); +} + +file_put_contents($doc_root . '/foo.html', ''); +if(fwrite($fp, <<<HEADER +GET /foo.html HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + $text = fgets($fp); + if (strncasecmp("Content-type:", $text, 13) == 0) { + echo "foo.html => ", $text; + } + } +} +@unlink($doc_root . '/foo.html'); +fclose($fp); + + +$fp = fsockopen($host, $port, $errno, $errstr, 0.5); +if (!$fp) { + die("connect failed"); +} +file_put_contents($doc_root . '/foo.htm', ''); +if(fwrite($fp, <<<HEADER +GET /foo.htm HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + $text = fgets($fp); + if (strncasecmp("Content-type:", $text, 13) == 0) { + echo "foo.htm => ", $text; + } + } +} +@unlink($doc_root . '/foo.htm'); +fclose($fp); + + +$fp = fsockopen($host, $port, $errno, $errstr, 0.5); +if (!$fp) { + die("connect failed"); +} +file_put_contents($doc_root . '/foo.svg', ''); +if(fwrite($fp, <<<HEADER +GET /foo.svg HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + $text = fgets($fp); + if (strncasecmp("Content-type:", $text, 13) == 0) { + echo "foo.svg => ", $text; + } + } +} +@unlink($doc_root . '/foo.svg'); +fclose($fp); + +$fp = fsockopen($host, $port, $errno, $errstr, 0.5); +if (!$fp) { + die("connect failed"); +} +file_put_contents($doc_root . '/foo.css', ''); +if(fwrite($fp, <<<HEADER +GET /foo.css HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + $text = fgets($fp); + if (strncasecmp("Content-type:", $text, 13) == 0) { + echo "foo.css => ", $text; + } + } +} +@unlink($doc_root . '/foo.css'); +fclose($fp); + +$fp = fsockopen($host, $port, $errno, $errstr, 0.5); +if (!$fp) { + die("connect failed"); +} +file_put_contents($doc_root . '/foo.js', ''); +if(fwrite($fp, <<<HEADER +GET /foo.js HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + $text = fgets($fp); + if (strncasecmp("Content-type:", $text, 13) == 0) { + echo "foo.js => ", $text; + } + } +} +@unlink($doc_root . '/foo.js'); +fclose($fp); + +$fp = fsockopen($host, $port, $errno, $errstr, 0.5); +if (!$fp) { + die("connect failed"); +} +file_put_contents($doc_root . '/foo.png', ''); +if(fwrite($fp, <<<HEADER +GET /foo.png HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + $text = fgets($fp); + if (strncasecmp("Content-type:", $text, 13) == 0) { + echo "foo.png => ", $text; + } + } +} +@unlink($doc_root . '/foo.png'); +fclose($fp); +?> +--EXPECTF-- +foo.html => Content-Type: text/html; charset=UTF-8 +foo.htm => Content-Type: text/html; charset=UTF-8 +foo.svg => Content-Type: image/svg+xml +foo.css => Content-Type: text/css; charset=UTF-8 +foo.js => Content-Type: text/javascript; charset=UTF-8 +foo.png => Content-Type: image/png -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php