Skip to content

PHP 8.5: ParallelSoapClient::__doRequest() signature incompatible with SoapClient (fatal at class load) #179

Description

@c266

On PHP 8.5, simply autoloading Soap\ParallelSoapClient triggers a fatal error because the overridden __doRequest() no longer matches SoapClient::__doRequest().

PHP 8.5 added a new trailing optional parameter ?string $uriParserClass = null to SoapClient::__doRequest().
The override in src/ParallelSoapClient.php still uses the pre-8.5 signature, so the method is now signature-incompatible with its parent and the class fails to load.

Suggested fix :

Add the new optional parameter to the override (body unchanged, it is ignored):

public function __doRequest(string $request, string $location, string $action, int $version, bool $oneWay = false, ?string $uriParserClass = null): ?string

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions