From ca511768f3f14125e8ce0a5e4e07bb50075128f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Wed, 3 Dec 2025 10:55:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E5=85=A5=E6=88=BF=E9=97=B4=20?= =?UTF-8?q?=E5=AD=90=E8=BF=9B=E7=A8=8B=E5=8F=91=E9=80=81=E7=89=B9=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Room.php | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 84f15a6..2c07e36 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -888,22 +888,28 @@ class Room extends Model $ttex['ToUserInfo'] = db::name('user')->where('id', $partner_id)->field('id as user_id,nickname,avatar,sex')->find(); $ttex['text'] = 'CP特效'; - // 子进程推送CP特效消息 - $pid = pcntl_fork(); + // 检查是否支持 pcntl 扩展 + if (function_exists('pcntl_fork')) { + $pid = pcntl_fork(); - if ($pid == -1) { - // 创建子进程失败,直接推送消息 - model('api/Chat')->sendMsg(1080, $room_id, $ttex); - } elseif ($pid) { - // 父进程,继续执行 - // 不等待子进程结束 + if ($pid == -1) { + // 创建子进程失败,直接推送消息 + model('api/Chat')->sendMsg(1080, $room_id, $ttex); + } elseif ($pid) { + // 父进程,继续执行 + // 不等待子进程结束 + } else { + // 子进程,延迟推送消息 + sleep(1); + model('api/Chat')->sendMsg(1080, $room_id, $ttex); + exit(0); // 子进程结束 + } } else { - // 子进程,延迟推送消息 - sleep(1); + // 不支持 pcntl,直接推送消息 model('api/Chat')->sendMsg(1080, $room_id, $ttex); - exit(0); // 子进程结束 } + } } }