Karp 的技术博客
踩坑教训
Aws 迁移 阿里云 踩坑 (Too many open files[24])

php7.2 + swoole 1.10.3

编程语言
Swoole http 服务 Error: Too many open files[24]

错误日志:

编程语言
Swoole CPU 亲和性配置 `open_cpu_affinity`

open_cpu_affinity

编程语言
Swoole 日志 部分代码
/**
 * @desc work进程内日志 仅限work 进程内使用
 * @author lbf
 * @param $msg
 * @param string $name
 *------------------------------------------------------
 */
public static function Wlog($msg, $name = Log::MATCH)
{
    if (!Main::WRITE_DEBUG_LOG && $name == Log::DEBUG) return;

    $name = $name == Log::DEBUG ? Log::MATCH : $name;
    $name = $name == Log::SQL ? Log::MATCH : $name;

    $str = '';
    if (is_array($msg)) {
        foreach ($msg as $key => $val) {
            if (is_array($val))
                $val = json_encode($val);
            $str .= " {$key} {$val}";
        }
    } else {
        $str = $msg;
    }

    $worker_id = APP::getWorkerId();
    if ($worker_id < 0) {
        $worker_id = 'task';
    }
    $date = date('Y/m/d H:i:s');
    $no = date('Ymd');
    $log_dir = LOG_PATH . DS . self::getLogName();
    if (!is_dir($log_dir)) {
        @mkdir($log_dir, 0755, true);
    }
    $file_name = LOG_PATH . DS . self::getLogName() . DS . $name . '-' . $worker_id . '-' . $no . '.log';
    $data = "[" . $date . "]";
    $data .= " _" . APP::getUniqueLogId() . "_";
    $data .= " @ " . $str . "\n";

    file_put_contents($file_name, $data, FILE_APPEND);
}
774 文章数
0 评论量
9 分类数
779 页面数
已在风雨中度过 9年293天18小时41分