我试图创建验证系统,以检查上传的文件已经获得了,我用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
我希望寻求帮助,谢谢:)
你需要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_SOCKET
(host:port
)环境变量来覆盖。
在Windows上使用最好的选择可能是:
$stdOut = shell_exec("C:\...\clamscan.exe C:\...\filename.zip");
除非有任何CLAMAV_LOCAL_TCP_SOCKET
:3310
它可以连接到
......因为CLAMAV_UNIX_SOCKET
将不可用也。