套接字操作失败 - SOCKET_ECONNREFUSED - ClamAV的Laravel

问题描述 投票:0回答:1

我试图创建验证系统,以检查上传的文件已经获得了,我用ClamAV的,但不能正常工作(Wampserver64):(

给我这个错误:

套接字操作失败:无法连接建立,因为目标计算机明确予以否认。 (SOCKET_ECONNREFUSED)。异常(10061)

我的代码:

// CLAMAV VERFICATION
$validator = \Validator::make($request->all(), [
           'file' => 'clamav',
]);

if ($validator->fails()) {
   return response()->json([
          'title' => trans('lang.OOPS'),
          'html' => $validator->errors()->all(),
          'type_is' => 'swal',
          'status' => 'error'
   ]); 
}

我用这个包:https://github.com/sunspikes/clamav-validator

我希望寻求帮助,谢谢:)

php windows laravel laravel-5 laravel-5.7
1个回答
0
投票

你需要clamd该脚本。甚至有一个Windows版本的同时:https://www.clamav.net/documentation(不知道)。尽管如此,守护进程和/或插座可能丢失在Windows上。与因为剧本出现的Linux写入shell_exec()你可以用随便什么扫描仪,从CLI运行......。这是documentation明确规定:

默认情况下,包将尝试通过默认套接字文件(clamav)连接/var/run/clamav/clamd.ctl守护进程,如果失败,它会尝试的TCP端口(127.0.0.1:3310

但是你可以设置CLAMAV_UNIX_SOCKET(套接字文件路径)或CLAMAV_LOCAL_TCP_SOCKEThost:port)环境变量来覆盖。


在Windows上使用最好的选择可能是:

$stdOut = shell_exec("C:\...\clamscan.exe C:\...\filename.zip");

除非有任何CLAMAV_LOCAL_TCP_SOCKET :3310它可以连接到

......因为CLAMAV_UNIX_SOCKET将不可用也。

© www.soinside.com 2019 - 2024. All rights reserved.