Capability sweep (recipe r20): recipe r22 without the login lockout
What the site owner saw
The problem types in the item list were introduced at the same time into a copy of an online store test site. After that, the homepage returned HTTP 200, the login page returned HTTP 500, and the WordPress dashboard would not load.
Source: capability sweep (one or more problem types from the "What we fix" page planted on one test site); there is no single forum thread.
Test setup and what we observed after the failure
Test site: WordPress 7.1, PHP 8.3. The table shows the HTTP status of the homepage and the login page after the recipe recreated the failure.
| Server setup | Homepage | Login page | Note |
|---|---|---|---|
| Apache + PHP-FPM | 200 | 500 | |
| Apache + php-cgi (mod_cgid) | 200 | 500 | |
| Apache + mod_php | 200 | 500 | |
| nginx + PHP-FPM | 200 | 500 |
Outcome of each run
| Date (UTC) | Server setup | Connection mode | Outcome | Product version | Note | Result per problem type |
|---|---|---|---|---|---|---|
| 2026-11-08 | Apache + PHP-FPM | SSH | Recovered | 2.1.438 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: Cleared | |
| 2026-11-08 | Apache + php-cgi (mod_cgid) | SSH | Recovered | 2.1.438 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: Cleared | |
| 2026-11-08 | Apache + mod_php | SSH | Recovered | 2.1.438 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: Cleared | |
| 2026-11-08 | nginx + PHP-FPM | SSH | Recovered | 2.1.438 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: Cleared | |
| 2026-11-08 | nginx + PHP-FPM | FTP | Not recovered | 2.1.438 | coreChecksum: ClearedphpSyntax: Still presentthemeHealth: Still presentcacheDropins: Still presentfilePerms: Still presenthtaccess: ClearedcronStuck: Still presentruntimeFatal: Still presentmemoryExhausted: Still presentstaleObjectCache: Still presentrestApi: Still presentsiteUrlMismatch: Still presentuploadPathWrong: Still presentdbSchemaPending: Still presenttransientBloat: Still presentcronBloat: Still presentcontentBloat: Still presentrolesCorrupted: Still present |
Gaps and the version that fixed them
Every run that did not end in "recovered" is listed here: what we changed, the version it shipped in, and the re-test date and outcome.
| Found | Server setup | Connection mode | What we changed | Fixed in | Re-test |
|---|---|---|---|---|---|
| 2026-11-08 | nginx + PHP-FPM | FTP | Write-back over encrypted FTP stopped partway on this server because of how our FTP client set up encrypted connections, so the case ended as not recovered. The FTP client was changed. | 2.1.443 | — |
Problem types this case covers
- WordPress core files corrupted/tampered
- Plugin/theme syntax error causing white screen
- Broken theme
- Stale cache files causing errors
- File permission errors
- .htaccess corruption (404/500)
- Scheduled tasks piled up and not running (cleanup)
- White screen/500 fatal error (plugin conflicts, PHP incompatibility)
- Out-of-memory white screen
- Leftover object-cache config crashing the site
- Editor cannot save (REST API blocked or its response polluted)
- Broken URL settings (redirect loops / all images broken)
- Wrong upload path (broken media library images)
- Database schema version behind
- Expired transients piling up and slowing the site
- Bloated scheduler table slowing the whole site (duplicate/flood events; completed store jobs never purged)
- Database bloat (revision pileup / spam comments)
- Roles/permissions corrupted, admin login blocked
Notes
Recipe r20 is recipe r22 without the login lockout. Only problem types listed on the What we fix page are shown. One of them, a database table collation mismatch, could not be created on the database servers used here, so it was not introduced and is not listed. The fix for the gap below was re-tested with recipe r22, which contains every fault in this recipe; see the r22 record. WP admin mode was not run in this series.
Changes to this record
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
These are records from our test servers, for a given product version on a given day. They are not a promise about the result on any site. Other hosts, PHP versions, and WordPress versions can behave differently.