# X Prober: Single-file PHP environment diagnostics

> X Prober packages server checks, benchmarks, and multilingual browser output into one PHP file. It suits administrators who need a quick diagnostic page, but deployment exposes that information to anyone who can reach the file.

**kmvan/x-prober** — 🐘 A probe program for PHP environment (一款精美的 PHP 探針, 又名X探針、劉海探針)

- Repository: https://github.com/kmvan/x-prober
- Website: https://prober.inn-studio.com
- Stars: 1,393 · Forks: 260
- Language: TypeScript
- License: GPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/kmvan-x-prober

## X Prober's single-file diagnostic model

X Prober addresses a narrow operational task: presenting information about a PHP host in a browser without installing a conventional monitoring agent. Its intended users are server owners, hosting users, and administrators who need to inspect an environment after moving a site, checking a VPS, or troubleshooting PHP configuration. The README describes it as a PHP environment probe and also calls it Notch Prober. It goes beyond the plain environment page associated with PHP's built-in information output, but the README does not enumerate every diagnostic panel or define the complete data-collection flow.

The deployment unit is unusually simple. The README says users download one file, rename it to `x.php`, upload it to a server, and open it through a browser. That approach is practical for shared-hosting users who cannot install a daemon or compile a native monitoring utility. It also makes the probe easy to remove, since deletion of the uploaded PHP file is the documented deployment inverse. The trade-off is equally concrete: the diagnostic file becomes an externally reachable web application, and the README does not explain whether it ships with authentication.

The planned feature list gives some indication of scope. Completed items include temperature detection, multilingual support through Poedit, detailed benchmark results, additional server benchmarks, and PING functionality. Email sending and network speed tests remain unchecked. Network speed testing should therefore not be assumed to be available in version 10.0.4.

## How X Prober reaches older PHP servers

The repository separates its development stack from the PHP compatibility promised to deployed servers. The source is primarily TypeScript, with React, Vite, Zustand, and other frontend packages declared in `package.json`. The production build creates a standalone `dist/prober.php`. In the other direction, the PHP code distributed through that file must remain compatible with PHP 5.4+, as stated in the contributor notes.

That two-level compatibility arrangement matters. Building the frontend requires PHP 8.4+, while running the resulting probe requires PHP 5.4+. A developer can therefore use a recent build environment and distribute output intended for an old server runtime. The repository includes separate development and distribution Vite configurations, a `compiler/` directory, PHP build scripts, and generated output under `dist/`. Based on that layout, the build process assembles the PHP deliverable rather than requiring users to deploy the TypeScript source tree.

Compatibility does not mean that every server feature will work equally well. The README lists Linux and Windows as supported operating systems, but qualifies Windows support as covering basic features. It lists Chrome, Firefox, Edge, and Android as compatible browsers. That browser set is useful for inspection, although the README does not describe a responsive testing matrix or the behavior of benchmark features on mobile devices.

## Installing X Prober and opening the first diagnostic page

For a non-developer deployment, the README provides a short path. Download `dist/prober.php` from either the INN Download Node or the GitHub raw file, rename it to `x.php`, and upload it under a web-accessible location. The page can then be opened at the corresponding domain path. The README does not show a shell command for uploading it, so no `scp`, `curl`, or FTP command is documented here.

The production artifact is available from the repository at this GitHub path:

```bash
https://github.com/kmvan/x-prober/raw/master/dist/prober.php
```

After renaming the file to `x.php`, the reader should open it through this URL shape, replacing the placeholder with the actual host:

```bash
your-domain/x.php
```

For contributors, the documented preparation sequence installs npm modules and Composer dependencies. The README calls the frontend workspace pnpm, and the repository includes `pnpm-workspace.yaml`.

```bash
npx pnpm i
composer install && composer dumpautoload -o
```

The language template can then be rebuilt with:

```bash
npm run lang
```

Developers start the PHP backend and Vite frontend separately. The README says the local development page is available at `http://localhost:5173/`.

```bash
npx pnpm dev:php
npx pnpm dev
```

These are separate commands and require separate development processes. The README does not document their expected terminal output or any fallback behavior if a service fails to start.

## Building X Prober as a standalone PHP artifact

X Prober's production workflow has two explicit stages. The first builds the frontend through Vite. The second runs the PHP build script and produces `./dist/prober.php`. Keeping these steps separate gives contributors a normal frontend build path while also supporting the project's defining distribution format, a single PHP file.

Build the frontend with the repository script:

```bash
npx pnpm build
```

Compile the single-file output with:

```bash
npx pnpm build:php
```

The expected artifact is `./dist/prober.php`. The README gives two ways to access it locally:

```bash
http://localhost:8001/prober.php
```

or:

```bash
http://path/to/dist/prober.php
```

The first URL assumes that a PHP server is serving the `dist` directory on port 8001. The package manifest also defines `build:php-debug`, which compiles a debug build, prints the localhost URL, and starts PHP's built-in server with `PHP_CLI_SERVER_WORKERS=4`. That script is present for development, but the README's production instructions remain the clearer reference for release preparation because they express the build and backend separation directly.

Upgrading contributors to newer dependency versions should not be confused with upgrading generated output. The repository uses recent TypeScript, React, Vite, and formatting packages, but PHP 5.4+ compatibility remains a release constraint. Changes to PHP source therefore require verification against that old-runtime target even when the local development stack is recent.

## Access control and information exposure in X Prober

A browser-based environment probe is useful because it can disclose details that are inconvenient to collect through a terminal. It can also tell an unintended visitor about the same host. The README does not document authentication, IP allowlists, access tokens, environment-variable filters, or a built-in removal button. It also does not state whether individual checks can be disabled before upload. Those omissions matter for X Prober because examining the server environment is the purpose of the file.

The README describes temperature detection, benchmarks, and PING functionality. Based on those labels, a deployed probe may collect or display operational information as well as basic PHP and operating-system data. The exact fields, network destinations, update mechanism, and error handling are not documented, so X Prober should not be credited with capabilities that cannot be traced to the README.

Renaming the file to `x.php` does not itself secure it. Anyone who knows the URL can attempt to open the page unless a web server, reverse proxy, private network, or other external control blocks access. The README does not prescribe any such control, so deployment security remains an operator responsibility rather than a documented X Prober feature. Removing the file after diagnosis is the only cleanup step implied by the single-file workflow.

## X Prober's GPL-3.0 and maintenance implications

X Prober is distributed under GPL-3.0, as stated in both the README and `package.json`. That license is an adoption condition for anyone redistributing or modifying the project, but this review does not provide legal advice. The repository includes a `LICENSE` file, which is the appropriate text to consult for the license terms and obligations.

The repository is not archived. Its last push was on 2026-08-16, and release 10.0.4 followed on the same calendar date. Releases 10.0.3 and 10.0.2 were published on 2026-08-07 and 2026-08-02, respectively. Those facts show recent development activity and provide identifiable upgrade points, although they do not establish compatibility with every deployment environment.

The README does not provide an upgrade procedure for an uploaded `x.php`. Because users receive a generated standalone file, replacing the deployed copy is the evident file-level update path, but the README does not state whether settings persist, whether extensions can migrate, or whether old files are automatically recognized. It also does not document a compatibility table for version 10 releases. Administrators should therefore treat replacement and revalidation as separate concerns rather than assuming an in-place update process.

## X Prober compared with a task-specific PHP check

The documented alternative is a small PHP page written specifically for one diagnostic question. That approach can request only `phpinfo()` output, a directory permission check, or another known server condition, then omit unrelated reporting. Its advantage is narrow scope and easier control over what the page reveals. Its cost is that someone must write, secure, update, and maintain that script for each environment.

X Prober takes the opposite approach. It is a preassembled diagnostic program distributed as one file, with temperature checks, benchmarks, PING, and multilingual browser output represented in its feature set. The trade-off is broader inspection scope and a ready-made interface, coupled with the access-control questions raised by publishing that file on a server.

A dedicated PHP check is therefore more suitable when one value must be verified under a strict disclosure policy. X Prober is more suitable when an administrator wants a general diagnostic page and can restrict its URL. The README does not compare either approach with a named commercial monitoring product, so claims about competitors, agent overhead, alerting, or long-term metric storage cannot be supported by the repository documentation.

## Conclusion

Administrators who need a portable PHP diagnostic page should consider X Prober after checking PHP 5.4+ compatibility, restricting access to `prober.php`, and confirming that its reported environment and benchmark data are acceptable. It is a poor fit for public hosting, permanent production monitoring, or teams that require a documented authentication and removal procedure, because the README documents none of those controls.

## FAQ

### How do I install X Prober on a PHP server?

Download `dist/prober.php`, rename it to `x.php`, upload it to your server, and open `your-domain/x.php` in a browser. The generated file supports PHP 5.4+, while building the frontend requires PHP 8.4+.

### Does X Prober require a database or a separate backend service?

The documented end-user deployment is a single PHP file uploaded to an existing server. The README does not mention a database, daemon, or separately deployed backend service.

### Can X Prober test network speed and send email?

Neither capability should be assumed in version 10.0.4. The planned features list still marks email sending and network speed testing as incomplete, while PING and server benchmarks are marked completed.

## Sources

- [kmvan/x-prober on GitHub](https://github.com/kmvan/x-prober)
- [License: GPL-3.0](https://github.com/kmvan/x-prober/blob/master/LICENSE)
- [Project website](https://prober.inn-studio.com)
- [README](https://github.com/kmvan/x-prober/blob/master/README.md)
- [Releases](https://github.com/kmvan/x-prober/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/kmvan-x-prober
