Req #51918 [Opn->Csd]: Phar::webPhar() does not handle requests sent through PUT and DELETE method
Edit report at https://bugs.php.net/bug.php?id=51918&edit=1
ID: 51918
Updated by: ab@php.net
Reported by: max dot romanovsky at gmail dot com
Summary: Phar::webPhar() does not handle requests sent
through PUT and DELETE method
-Status: Open
+Status: Closed
Type: Feature/Change Request
Package: PHAR related
Operating System: FreeBSD
PHP Version: 5.3.2
Block user comment: N
Private report: N
New Comment:
Automatic comment on behalf of cweiske@cweiske.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=c0c08719117ee6116073a2c65a6840213403e65b
Log: Fixed bug #51918 Phar::webPhar() does not handle requests sent through PUT and DELETE method
Previous Comments:
------------------------------------------------------------------------
[2014-07-12 11:49:42] cweiske@php.net
Still happens with PHP 5.6.0RC2 and git as of today.
------------------------------------------------------------------------
[2012-01-11 18:10:51] f at overridelogic dot com
I ran into the same problem with the same results with 5.3.9 on Ubuntu, and created a patch
(phar_restful.patch) to support PUT, DELETE and OPTIONS. He are my results after applying it:
Test script
-----------
phar = new Phar('temp.phar');
$phar['index.php'] = '<?php var_dump(file_get_contents("php://input"),
$_SERVER["REQUEST_METHOD"]); ?>';
Test requests
--------------
PUT /temp.phar/index.php HTTP/1.1
Host: localhost
Content-Length: 11
Hello World
DELETE /temp.phar/index.php HTTP/1.1
Host: localhost
Content-Length: 11
Hello World
OPTIONS /temp.phar/index.php HTTP/1.1
Host: localhost
Content-Length: 11
Hello World
Actual result
-------------
HTTP/1.1 200 OK
Date: Wed, 11 Jan 2012 15:39:36 GMT
Server: Apache/2.2.16 (Ubuntu)
X-Powered-By: PHP/5.3.9
Vary: Accept-Encoding
Content-Length: 41
Content-Type: text/html
string(11) "Hello World"
string(3) "PUT"
HTTP/1.1 200 OK
Date: Wed, 11 Jan 2012 15:39:38 GMT
Server: Apache/2.2.16 (Ubuntu)
X-Powered-By: PHP/5.3.9
Vary: Accept-Encoding
Content-Length: 44
Content-Type: text/html
string(11) "Hello World"
string(6) "DELETE"
HTTP/1.1 200 OK
Date: Wed, 11 Jan 2012 15:39:42 GMT
Server: Apache/2.2.16 (Ubuntu)
X-Powered-By: PHP/5.3.9
Vary: Accept-Encoding
Content-Length: 45
Content-Type: text/html
string(11) "Hello World"
string(7) "OPTIONS"
------------------------------------------------------------------------
[2011-08-29 20:35:34] max dot romanovsky at gmail dot com
But we can't build RESTful application that will be packaged in Phar and started
using Phar::webPhar().
Or there is some other intention to handle only GET and POST methods?
------------------------------------------------------------------------
[2011-08-29 19:06:53] bjori@php.net
It seems quite intentional. It only supports GET and POST, not PUT, DELETE, HEAD,
...
------------------------------------------------------------------------
[2010-05-26 10:40:16] max dot romanovsky at gmail dot com
Description:
------------
Phar::webPhar() does not handle requests sent through PUT and DELETE request method.
Test script:
---------------
PUT /REST/foo HTTP/1.1
host: example.com
Content-Length: 2
12
HTTP/1.1 200 OK
Server: nginx/0.8.36
Date: Tue, 25 May 2010 14:01:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.2
0
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=51918&edit=1
Thread (6 messages)