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); // 子进程结束 } + } } }