go to bug id or search bugs for
The built in webserver bails out with an error on retrieval of a non-standard HTTP request method (e.g. PATCH).
Run the PHP built in web server on PORT 8042 and use the following script to reproduce the error:
$httpFilePointer = fopen(
'http' => array(
'method' => 'PATCH',
A valid HTTP response, depending on the script run by the server.
The server logs to shell:
[Mon Apr 9 15:45:35 2012] ::1:37726 Invalid request (Malformed HTTP request)
The client complains about a malformed response:
Warning: fopen(http://localhost:8042): failed to open stream: HTTP request failed! in …
Add a Patch
Add a Pull Request
hmm, I will try to fix it when I find what will apache does in such case :)
Just to make this clear: HTTP allows arbitrary method verbs to be used. Quoting the EBNF from RFC 2616, chapter 5.1.1:
Method = "OPTIONS" ; Section 9.2
| "GET" ; Section 9.3
extension-method = token
Event if the server itself does not support a certain method, it should not crash, but send a 405 (Method Not Allowed) response. However, for the built in web server, it makes sense to let the executed script handle this and pipe arbitrary method verbs to it.
The fix for this bug has been committed.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.
GitHub PR #190 (https://github.com/php/php-src/pull/190) merged into 5.4 and