Edit report at https://bugs.php.net/bug.php?id=51918&edit=1
ID: 51918
Comment by: f at overridelogic dot com
Reported by: max dot romanovsky at gmail dot com
Summary: Phar::webPhar() does not handle requests sent
through PUT and DELETE method
Status: Open
Type: Feature/Change Request
Package: PHAR related
Operating System: FreeBSD
PHP Version: 5.3.2
Block user comment: N
Private report: N
New Comment:
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"
Previous Comments:
------------------------------------------------------------------------
[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] [email protected]
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