我想使用 php 自动扫描上传的文件是否有病毒。在早期版本的 ubuntu 中有一个名为 php-clamavlib 的扩展,但在 Natty 上我得到了
E: 无法找到软件包 php5-clamavlib
不再有任何扩展吗?我该怎么做才能存档?
答案1
在 izx 的回答、32bitfloat 的评论和一些谷歌搜索之后,我成功了(在 Ubuntu 12.04 LTS 上)。这正是我必须做的。所有这些命令都是以 root 身份执行的,并且您的设置中的某些细节可能有所不同。
准备
首先,清除所有现有 ClamAV 的痕迹:
aptitude install zlib1g-dev php5-dev
aptitude purge clamav clamav-base clamav-data clamav-docs clamav-freshclam libclamav6
安装 ClamAV
下载最新的 ClamAV,制作并安装它:
wget http://downloads.sourceforge.net/clamav/clamav-0.98.4.tar.gz
tar xzf clamav-0.98.4.tar.gz
cd clamav-0.98.4
./configure
make
make install
ldconfig
使 freshclam 工作并运行它:
useradd clamav
mkdir /usr/local/share/clamav
chown clamav /usr/local/share/clamav
cp /usr/local/etc/freshclam.conf.sample /usr/local/etc/freshclam.conf
编辑文件/usr/local/etc/freshclam.conf
并注释掉以下行Example
。然后更新:
freshclam
如果运行成功,请通过扫描文件测试其是否正常工作:
clamscan somefile
安装 PHP-ClamAV
下载最新的 PHP-ClamAV,制作并安装它:
wget https://launchpad.net/php-clamav/trunk/0.15.7/+download/php-clamav_0.15.7.tar.gz
tar xzf php-clamav_0.15.7.tar.gz
cd php-clamav_0.15.7
phpize
./configure --with-clamav
make
make install
安装到 Apache 并重新启动:
echo "extension=clamav.so" > /etc/php5/conf.d/clamav.ini
service apache2 restart
我希望这些对某些人有用。我真的希望php-clamav
它仍然支持 Aptitude。它会比上面的好得多。
答案2
- 请从以下位置下载最新的
php-clamav
tarball发射台。 - 安装
php5-dev
(clamav
如果尚未安装)sudo apt-get
将 tarball 解压
cd
到php-clamav-xxxx目录,然后按照以下步骤安装php-clamav模块(改编自INSTALL
):phpize ./configure--with-clamav 复制代码 制作 cp 模块/clamav.so /usr/local/lib/php/extensions/ (重启 Apache) 服务 httpd 重启