fix: add SIGHUP/SIGTERM handling, modernize PHP support and CI

Signal handling fixes:
- SignalListener: add SIGHUP/SIGTERM handling for both Swoole
  and Workerman drivers in master and worker processes
- Prevent 100% CPU when IDE terminal is closed by ensuring
  graceful shutdown on terminal hangup

PHP version support:
- Widen PHP constraint to 8.3, 8.4, 8.5
- Bump doctrine/dbal from ^2.13.1 to ^4.4
- Bump php-cs-fixer to ^3.64, phpstan to ^1.12
- Bump swoole/ide-helper to ^5.0
- Drop phpunit ^8.5 (EOL), keep ^9.0

CI updates:
- actions/checkout@v3 → @v4 (Node.js 20 deprecated)
- Bump static analysis/code style PHP from 8.1 to 8.3
This commit is contained in:
crazywhalecc
2026-06-17 15:11:57 +08:00
parent a249fb5bfb
commit 3a57294e48
16 changed files with 45 additions and 41 deletions

View File

@@ -35,7 +35,7 @@ class KVRedis implements KVInterface
return $ret;
}
public function set(string $key, mixed $value, null|\DateInterval|int $ttl = null): bool
public function set(string $key, mixed $value, \DateInterval|int|null $ttl = null): bool
{
/** @var ZMRedis $redis */
$redis = RedisPool::pool($this->pool_name)->get();
@@ -78,7 +78,7 @@ class KVRedis implements KVInterface
RedisPool::pool($this->pool_name)->put($redis);
}
public function setMultiple(iterable $values, null|\DateInterval|int $ttl = null): bool
public function setMultiple(iterable $values, \DateInterval|int|null $ttl = null): bool
{
/** @var ZMRedis $redis */
$redis = RedisPool::pool($this->pool_name)->get();