Repository navigation
phpup 2.5.0 (Windows)
phpup.ps1 2.5.0. A feature release that adds a machine-readable CLI, so a GUI, tray app or
CI job can drive phpup without the interactive dashboard.
Contract: docs/CLI.md.
Install
irm https://raw.githubusercontent.com/DaFa66/phpup/HEAD/phpup-boot.ps1 | iexNothing changes if you already run phpup: no arguments behaves exactly as before and the
dashboard is untouched.
Added
status,start,stop,restart,version,helpverbs, with--json/-Json
emitting a stable schema on stdout--fastfor polling, and--watch N: one long-lived process emitting an NDJSON status
line every N seconds. A fresh PowerShell process costs about 0.85s, so spawning per tick
would hold roughly 40% of a core at a 2s interval; one process with lazy probes costs about
237ms a tick--quiet, plus documented exit codes: 0 ok, 1 failed, 2 usage, 3 not installed,
4 elevation required, 5 port conflict. A caller can relaunch elevated or name the foreign
process instead of parsing Englishservices.items[]in the payload: per-service{name, registered, enabled}- Version shown in the dashboard banner wordmark, beside the logo
Fixed
- Windows 11 reported as "Windows 10": the registry still stores
ProductName = "Windows 10 Pro"on Windows 11, so the build number now decides (22000 and
above is 11) platform.distrowas null in--fastand kept its "Windows " prefix in full modestatusandstartcould take 4 to 8 seconds before doing anything:
Get-NetTCPConnectionmeasured 3.8s cold on every fresh process, replaced with
System.Net.NetworkInformation(~60ms), with the netstat parse kept as a fallbackGet-Process -Namereplaced with .NET lookups: Windows PowerShell 5.1 writes an
OutOfMemoryExceptionstack trace to the error stream when the name matches nothing, which
polluted redirected stderr- Unreadable PIDs when unelevated: service mode now asks the SCM (
sc queryex), the fast
path uses the process table, which needs no elevation $DOWNLOAD_CACHEignored a custom install path and pointed atC:\phpupregardless
Desktop panel (separate release)
The Rust + egui control panel that reads this payload is published on its own chain, as
panel 0.1.0 beta, with a
zip and install.ps1. It is not bundled here: the script is the single artefact for the stack,
the panel is optional.
Upgrading
uu updates packages and brings the stack up. If the stack does not come up it now says so,
instead of claiming UPDATE COMPLETE!.