Troubleshooting
Start in the foreground using php server.php start. Resolve bootstrap errors before introducing daemon/systemd configuration.
| Symptom | Check |
|---|---|
| PHP startup fails | php -v, composer check-platform-reqs, CLI ini and disable_functions |
| Address unavailable | Existing listener, bind address, port permissions and socket path |
| Only some requests succeed | Per-worker logs, local state/config differences, blocking callbacks |
| Memory keeps growing | Retained requests/connections, subscriptions/timers and queue sizes |
| Slow readers increase RSS | Send buffers, onBufferFull/onBufferDrain and producer suspension |
| Truncated/coalesced messages | Custom codec input/decode and fragmented/coalesced packet tests |
| Old code after reload | Master already loaded the code; use restart/upgrade |
| TLS/WebSocket disconnects | TLS trust, proxy upgrade/read timeout and frame/idle timeouts |
| Session cookie fails | Secure/path/domain/SameSite, trusted proxies and session handler errors |
Commands and evidence
Section titled “Commands and evidence”php server.php status reports processes; php server.php connections reports connections. php server.php capabilities --json describes backend/platform capabilities. Use the service’s bootstrap and PID path.
Record time, connection ID, peer, establishment stage and error code for network failures. Exclude bearer tokens, session cookies and private request bodies from logs.