Skip to content

Retire PHP 7 and harden PHP 8 - #325

Merged
alexellis merged 1 commit into
masterfrom
php-upload-progress-hardening
Oct 21, 2026
Merged

alexellis merged 1 commit into
masterfrom
php-upload-progress-hardening

Conversation

@alexellis

@alexellis alexellis commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

PHP 7 is end of life but remains in the maintained template repository. Remove the PHP 7 template and disable PHP session upload progress in PHP 8 as defence in depth; Classic Watchdog invokes PHP CLI and passes request bodies over stdin, so the feature is unused.

Validation:

  • Built the modified PHP 8 template.
  • Confirmed plain and multipart request bodies round-trip locally.
  • Deployed the template to a private OpenFaaS gateway and invoked both request types.
  • Confirmed the 464-byte multipart body matched by SHA-256, with empty PHP file and post globals.
  • Removed the temporary function after the test.

PHP 7 is end of life and should no longer be offered as a maintained
OpenFaaS template. Remove it and disable PHP session upload progress in
PHP 8, where Classic Watchdog passes request bodies to the CLI over
stdin and does not use the feature.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
@reviewfn

reviewfn Bot commented Oct 21, 2026

Copy link
Copy Markdown

AI Pull Request Overview

Disclaimer: This review was generated by automated AI and may contain errors. Do not trust its outputs without human verification.

Summary

  • Removes the end-of-life PHP 7 template and its listing from the repository README.
  • Disables PHP session upload progress in the PHP 8 image because Classic Watchdog supplies request bodies to PHP CLI over standard input.
  • No remaining PHP 7 references were found in the repository at the reviewed head.
  • The new commit complies with the policy prohibiting AI authorship or attribution markers in commit messages.
  • No correctness, security, or migration defects were identified in the scoped changes.

Approval rating (1-10)

10/10. The retirement is internally complete, and the PHP 8 hardening is narrowly scoped and consistent with the template's request-processing model.

Summary per file

Summary per file
File path Summary
README.md Removes PHP 7 from the maintained template table.
template/php7/* Deletes the PHP 7 image, template metadata, handler scaffold, extension scripts, and documentation.
template/php8/Dockerfile Adds a PHP configuration file that disables unused session upload progress handling.

Overall Assessment

The changes are ready to merge. The PHP 7 removal covers the template implementation and its repository-level catalog entry without leaving stale references. The PHP 8 configuration is applied through PHP's standard conf.d mechanism and preserves normal request-body handling through the Classic Watchdog and PHP CLI path.

Detailed Review

Detailed Review

No findings.

AI agent details.

Agent processing time: 1m1.56s
Environment preparation time: 3.216s
Total time from webhook: 1m7.439s

@alexellis
alexellis merged commit 40376c8 into master Oct 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant