agentsclimarketplace

Php runtime eol opcache fpm review

Skill Raishin/vanguard-frontier-agentic/skills/php/php-runtime-eol-opcache-fpm-review

Curated marketplace of AI skills, agents, and rules for cloud, zero-trust, and compliance-aware engineering - works with Claude Code, Codex, Cursor, Copilot, and more.

Install
npx -y skills add Raishin/vanguard-frontier-agentic --skill php-runtime-eol-opcache-fpm-review

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use this skill to review PHP runtime upgrade readiness — whether the target or running PHP version is past php.net's published four-year support window (active support, then security-only, then EOL) — and to review production OPcache (enable, validate_timestamps, memory sizing) and PHP-FPM (pm, max_children, max_requests) hardening. Use when production PHP could be running an EOL or soon-security-only-EOL version, or when OPcache/FPM configuration could serve stale code or let a traffic spike exhaust workers. An EOL runtime is always a blocking finding. Static review only; it never installs, upgrades, or restarts a PHP runtime.

SKILL.md

10.0 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

PHP Runtime EOL, OPcache & PHP-FPM Review

Purpose

Review a PHP service's runtime lifecycle status and production hardening so a service does not run on an unsupported PHP version or an unhardened OPcache/PHP-FPM configuration without the team knowing. The dominant failure modes are a PHP version past php.net's published support window (EOL, or security-only and approaching its own EOL), OPcache left disabled or misconfigured for the deployment model, and PHP-FPM pool settings that leave worker concurrency and recycling unbounded.

When to use

Use this skill when the user asks to:

  • review whether a service's target or running PHP version is EOL, security-only, or actively supported per php.net,
  • assess an upgrade path and timeline against php.net's published support-window dates,
  • review production opcache.enable, opcache.validate_timestamps, opcache.memory_consumption, and opcache.max_accelerated_files configuration,
  • review production PHP-FPM pm, pm.max_children, and pm.max_requests configuration for resource-exhaustion and worker-leak exposure.

When not to use

Do not use this skill for:

  • performing the PHP version upgrade, editing application code for compatibility, or installing/restarting any PHP, OPcache, or PHP-FPM process — this skill is static review only; it recommends the path and hands implementation to the owning team.
  • reviewing application-level vulnerabilities, Composer dependency supply chain, or WordPress-specific hardening — those belong to other PHP-domain skills in this catalog.
  • asserting a PHP version's support status from memory or estimation; if php.net's supported-versions page does not list the version, say so rather than guessing a date.
  • judging lifecycle status against the wall clock; judgment is based on the target/committed version and the published dates only, so findings stay reproducible.

Preconditions

  • The PHP version actually targeted or running in production (composer.json require.php, Dockerfile/base-image tag, CI runtime matrix, or deployment manifest).
  • The production php.ini OPcache directives in scope: opcache.enable, opcache.validate_timestamps, opcache.revalidate_freq, opcache.memory_consumption, opcache.max_accelerated_files.
  • The production PHP-FPM pool configuration: pm, pm.max_children, pm.max_requests, and the pm.start_servers/pm.min_spare_servers/pm.max_spare_servers triad if pm is dynamic.
  • The deployment model (immutable container image replaced per deploy vs. in-place file sync), since it determines whether opcache.validate_timestamps=0 is safe without a compensating invalidation step.
  • Approximate available memory per worker host/container, if pm.max_children sizing guidance is requested.

Lean operating rules

  • Resolve the exact PHP version from the strongest available evidence and state that evidence tier before classifying its lifecycle status.
  • Classify status precisely as active support, security-only (with the published end date), or EOL — never collapse these into "outdated."
  • Treat any EOL classification as blocking, regardless of code quality elsewhere; EOL means no fixes are published, including for actively exploited vulnerabilities.
  • Treat a security-only classification as blocking only when its published security-support end date falls within the stated release horizon with no tracked upgrade plan; otherwise report it as dated advisory guidance.
  • Confirm opcache.enable=1 in production, and check opcache.validate_timestamps against the actual deployment model rather than assuming one universally correct value.
  • Confirm pm.max_children is evidently bounded by available memory and pm.max_requests is nonzero (or has a documented rationale for 0).
  • Never fabricate a PHP version, support date, or CVE; encode lifecycle dates only from php.net's supported-versions page.
  • Label every claim repo evidence, documentation-based, or inference.

Context7 documentation protocol

This skill's allowed tools are Read, Grep, and Glob only — it does not call Context7 or any live documentation lookup at review time. Every PHP-lifecycle, OPcache, or PHP-FPM behavioral claim must instead be grounded in the bundled reference files, which are sourced directly from php.net and dated at authoring time. If a claim cannot be traced to a bundled reference or to evidence in the repository, label it an assumption rather than asserting it as documented behavior. See PHP version lifecycle, OPcache production configuration, and PHP-FPM pool tuning.

Workflow

Follow the review in this order: (1) resolve the exact PHP version targeted or running, and its evidence tier; (2) classify that version against php.net's current supported-versions table as active-support, security-only, or EOL, citing the exact dates; (3) if security-only, compare its security-support end date against the stated release horizon; (4) read production OPcache directives and check enable/validate_timestamps against the deployment model, and memory_consumption/max_accelerated_files against the actual codebase size; (5) read production PHP-FPM pool configuration and check pm.max_children sizing and pm.max_requests recycling; (6) emit findings with evidence tiers, concrete remediation, and ownership handoffs.

Decision gates

  • Block on any EOL PHP version, unconditionally.
  • Block on a security-only version whose published security-support end date falls within the stated release horizon with no tracked upgrade plan.
  • Block on production OPcache disabled, or validate_timestamps inconsistent with the deployment model with no compensating invalidation step.
  • Block on PHP-FPM with no evidently bounded pm.max_children or an unbounded pm.max_requests with no documented rationale.
  • Every lifecycle and directive claim traces to a bundled reference file or explicit repository evidence, never memory.
  • The PHP version upgrade and any application-code compatibility work are handed to the owning engineering team, never performed here.

Evidence classification

Label each finding repo evidence (seen directly in php.ini, FPM pool config, Dockerfile, CI, or a version banner), documentation-based (a php.net-published support date or directive default from the bundled references), or inference (a reasonable conclusion not directly observed, e.g. estimated memory footprint per worker). A documented default never proves what a specific deployment's actual configuration is — check the file before asserting it.

Security and privacy constraints

Static review only. Never install, upgrade, downgrade, or restart any PHP, OPcache, or PHP-FPM process, and never make any network call to php.net or any other service. Never fabricate a PHP version, support date, or CVE — report missing evidence instead of guessing. Treat any credential found in configuration files as a redact-and-flag finding, never echoed in output.

Escalation conditions

Escalate to incident response on any evidence the failure is already live — an EOL PHP version confirmed serving production traffic, or a PHP-FPM pool observed exhausting workers under load. Escalate a confirmed EOL or approaching-security-only-EOL finding to the owning engineering team as a tracked upgrade item, with the recommended target version and the exact php.net-published dates driving the timeline.

References

Load these only when needed:

  • PHP version lifecycle — the php.net support-policy definitions and the current per-branch active-support/security-support/EOL dates.
  • OPcache production configurationopcache.enable, opcache.validate_timestamps, and sizing directives, and how to review them against a deployment model.
  • PHP-FPM pool tuningpm, pm.max_children, and pm.max_requests review criteria for resource-exhaustion and worker-leak exposure.

Response minimum

Return, at minimum:

  • the resolved PHP version, its evidence tier, and its lifecycle classification (active support / security-only with end date / EOL) with the exact php.net-published dates;
  • the production OPcache hardening state (enable, validate_timestamps versus deployment model, sizing);
  • the production PHP-FPM hardening state (pm.max_children sizing, pm.max_requests recycling);
  • concrete remediation and an exact verification step for each finding;
  • ownership handoffs and any incident-response escalation.

Anti-goals

  • Never fabricate or guess a PHP version's support-window dates; encode them only from php.net's supported-versions page.
  • Never judge lifecycle status against the wall clock; use the target/committed version and the published dates only.
  • Do not rewrite application code or perform the PHP version upgrade; recommend the path and hand implementation to the owning team.
  • Do not execute, restart, or reload any PHP, OPcache, or PHP-FPM process, and do not contact php.net or any other service.
  • Do not treat a version absent from the current supported-versions table as EOL by assumption; say the evidence is missing instead.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.