Page MenuHomePhabricator

Fix reading of the request path when running the PHP builtin webserver
ClosedPublic

Authored by epriestley on Jan 11 2021, 6:34 PM.
Tags
None
Referenced Files
F18779047: D21506.id51192.diff
Sat, Oct 11, 11:45 AM
F18771931: D21506.id.diff
Wed, Oct 8, 11:01 PM
F18770258: D21506.id51192.diff
Wed, Oct 8, 11:37 AM
F18743348: D21506.id51189.diff
Thu, Oct 2, 11:19 PM
F18673972: D21506.diff
Thu, Sep 25, 12:46 PM
F18673954: D21506.diff
Thu, Sep 25, 12:42 PM
F18571426: D21506.id51192.diff
Sep 10 2025, 5:01 AM
F18571424: D21506.id51189.diff
Sep 10 2025, 5:00 AM
Subscribers
None

Details

Summary

Ref T13575. Since PHP builtin webserver support was added, the pathway for parsing request parameters became more complex. We now rebuild "$_REQUEST" later, and this rebuild will destroy any mutations made to it here, so the assignment to __path__ is lost.

Instead of "validating" the request path, make this method "read" the request path and store it explicitly, so it will survive any later request mutations.

Test Plan
  • Submitted any POST form while running Phabricator under the builtin PHP webserver. Old behavior was an error when accessing __path__; new behavior is a working application.
  • Loaded normal pages, etc.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable