在 PHP 8.4 上使用 workerman/http-client
时报错,来自此处的$base
参数。
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker();
$worker->eventLoop = \Workerman\Events\Fiber::class;
$worker->onWorkerStart = function () {
$http = new Workerman\Http\Client();
$response = $http->request('https://example.com/', [
'method' => 'POST',
'version' => '1.1',
'headers' => ['Connection' => 'keep-alive'],
'data' => ['key1' => 'value1', 'key2' => 'value2'],
]);
echo $response->getBody();
};
Worker::runAll();
ErrorException: Workerman\Psr7\Uri::isSameDocumentReference(): Implicitly marking parameter $base as nullable is deprecated, the explicit nullable type must be used instead
workerman: 5.1.0
webman: 2.1.1
php: 8.4.4 (Jit on)
linux: 6.13.5
发了新版本,升级下 workerman/psr7
ok了,太酷啦~