php / php/php-src

FPM: Always use script name in PHP_SELF if cgi.discard_path = 1 and cgi.fix_pathinfo = 0

Open
#11,025 2 comments 1 reaction 1 assignee View on GitHub

@bukka is already working on this.

Since Apr 7, 2023.

Feature SAPI: fpm
Dominant language
C
Stars
40.4k
Forks
8.1k
Avg merge
2d 13h
Merged PRs (30d)
96

Description

Description

Currently if PATH_INFO set, then it is used in PHP_SELF if cgi.fix_pathinfo is disabled. This makes sense if the executable is used from PATH_TRANSLATED which is default behaviour. However if cgi.discard_path is enabled, it uses SCRIPT_FILENAME executable instead. This however does not match the documentation which states that PHP_SELF is relative path to the executable because PATH_INFO has nothing to do with executable path.

This was first mentioned in https://bugs.php.net/bug.php?id=68053 and this issue is an extraction of that problem (the primary concern won't be fixed due to a significant BC break). Even though this could be considered as a bug, it is not that critical and it has some BC break concern. It means it should be treated more as a feature change to improve the current behaviour and should go only to master and be mentioned in UPGRADING.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.