Skip to content

Stdlib: xmlrpc_encode_request()/decode_request()/is_fault()/get_type()/set_type missing after encode/decode (#6579) #22254

Closed

Description

@PurHur

Category

enhancement · php-src-strict · ext/xmlrpc depth · pillar 4 · child of #6579 / #19048

Problem

After #6579 / #19048, only xmlrpc_encode() / xmlrpc_decode() are registered. Request wrappers, fault detection, and type helpers from historic ext/xmlrpc remain missing (still useful on forward profiles where this repo advertises xmlrpc).

Verified 2026-07-22 on d82ae54ff (PHP_COMPILER_PROFILE=8.4):

Symbol Historic ext/xmlrpc VM
xmlrpc_encode / xmlrpc_decode present true
xmlrpc_encode_request / xmlrpc_decode_request present false
xmlrpc_is_fault / xmlrpc_get_type / xmlrpc_set_type present false
xmlrpc_server_create (and server_* family) present false

Scope this issue to client/request + type helpers (encode_request, decode_request, is_fault, get_type, set_type). File server_* separately if needed.

php-src reference

PHP implementation target

  • ext/xmlrpc/ helpers beside existing xmlrpc_encode / xmlrpc_decode (PHP-in-PHP; reuse VmXmlrpc)
  • Register behind XmlrpcExtensionPolicy::advertisesExtension()
  • No new runtime/*.c

Repro

./script/docker-exec.sh -- bash -lc 'PHP_COMPILER_PROFILE=8.4 php bin/vm.php -r '"'"'foreach (["xmlrpc_encode","xmlrpc_encode_request","xmlrpc_decode_request","xmlrpc_is_fault","xmlrpc_get_type","xmlrpc_set_type"] as $f) { echo $f, "=", var_export(function_exists($f), true), PHP_EOL; }'"'"''

Done when

  • Listed client/type symbols exist when xmlrpc is advertised; withheld on reference profile like siblings
  • encode_request/decode_request round-trip and is_fault match historic/Zend-era semantics on shared fixtures
  • Compliance .phpt guards; php-src-strict; no C runtime growth

Activity

  1. added
    enhancementNew feature or request
    phase-4:stdlibPhase 4 – stdlib for web apps
    area:vmVirtual machine
    implementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claim
    on Jul 22, 2026
  2. PurHur commented on Jul 24, 2026

    @PurHur
    OwnerAuthor

    claim: PHP Compiler STD Lib Advanced — batch (issues #22789, #22795, #22254)

    Queued after #22789/#22795: xmlrpc client/request + type helpers beside existing encode/decode.

  3. PurHur commented on Jul 24, 2026

    @PurHur
    OwnerAuthor

    merged: #22807

    Verification:

    • PROFILE=8.4: encode_request/decode_request/is_fault/get_type/set_type registered; demo.add round-trip; is_fault on faultCode/faultString
    • compliance xmlrpc_request_type_helpers OK; reference-profile withhold OK; xmlrpc_roundtrip OK

    Batch complete: #22789, #22795, #22254 all merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:vmVirtual machineenhancementNew feature or requestimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-4:stdlibPhase 4 – stdlib for web appsstdlib

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions