diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-26 00:18:54 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-26 00:18:54 +0900 |
| commit | ed0da7fcc3056ce5a822ac0de63ccc2dc799006e (patch) | |
| tree | 8689fb2797c3d9ced9b89a54753ad5d780c32cd5 /crates/shirabe-php-rpc/Cargo.toml | |
| parent | f642329554cf18734e671dc4758bc045de489999 (diff) | |
| download | php-shirabe-ed0da7fcc3056ce5a822ac0de63ccc2dc799006e.tar.gz php-shirabe-ed0da7fcc3056ce5a822ac0de63ccc2dc799006e.tar.zst php-shirabe-ed0da7fcc3056ce5a822ac0de63ccc2dc799006e.zip | |
feat(diagnose-command): query the real PHP runtime in one RPC call
diagnose used to read hardcoded shim stubs, so it described a fictional
runtime: OPENSSL_VERSION_NUMBER was always 0 and tripped the TLSv1.1/1.2
check, PHP_BINARY and OPENSSL_VERSION_TEXT were empty, and the extension,
function and ini probes answered from a fixed table.
The PHP worker gained a `diagnose` entry that returns every fact the
command needs as one PHP array, cached in a OnceLock so the several call
sites share a single round trip. Reading it back needed array support in
the serialize() parser, which in turn lets get_loaded_extensions and
get_all_ini_files return real lists instead of comma-joined strings.
Also fixes the openssl_version message, which dropped strstr()'s
before_needle argument during the port, and check_connectivity's
allow_url_fopen test, which did not follow PHP string truthiness.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-php-rpc/Cargo.toml')
| -rw-r--r-- | crates/shirabe-php-rpc/Cargo.toml | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crates/shirabe-php-rpc/Cargo.toml b/crates/shirabe-php-rpc/Cargo.toml index 093b10e5..0015dba4 100644 --- a/crates/shirabe-php-rpc/Cargo.toml +++ b/crates/shirabe-php-rpc/Cargo.toml @@ -7,6 +7,7 @@ edition.workspace = true shirabe-external-packages.workspace = true shirabe-php-shim.workspace = true anyhow.workspace = true +indexmap.workspace = true tempfile.workspace = true [lints] |
