Posts Tagged ‘方法’

WordPress自动封垃圾邮件IP的思路和实现方法

星期日, 八月 21st, 2016

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/2287.html http://www.myzhenai.com/thread-17912-1-1.html
关键词: wordpress垃圾回复 wordpress封ip iptables封IP wordpress自动封IP wordpress自动封发垃圾邮件的IP
众所周知,WordPress有一个自动拦截垃圾回复的插件Akismet 但是这个插件有一个不方便的地方就是它只是在垃圾回复发布了才进行拦截, 但是这个难免也会涉及到数据库写入和删除,这无疑会增加服务器的负担, 所以我的思路是调用Akismet拦截垃圾回复的IP地址,并且用Shell脚本把这些IP写入到iptables防火墙过滤名单里. 当再收到这些IP发来的请求时,系统会自动将它们丢弃,不会进入系统操作了. 实现起来很简单, 现在我们来说一说实现的步骤.
一: 将以下代码添加到 /wp-admin/includes/class-wp-comments-list-table.php 的指定位置里, 有两个地方,一个是自定义函数,一个是添加自定义函数.
参考: WordPress获取垃圾回复IP地址的方法 http://www.myzhenai.com.cn/post/1875.html http://www.myzhenai.com/thread-16324-1-1.html

/** chong zhe li kai chi */
function my_spam_ip(){
    $aip = get_comment_author_IP(); /** 得到ip地址 */
    $txt = file_get_contents("/var/wwwroot/spam.log"); /** 对比ip地址是否存在文件内,防止重复输入 */
    $txt = preg_replace("/(\r\n|\n|\r|\t)/i", '', $txt);
    if (strpos($txt,$aip) === false) /** 如果文件内找不到这个ip地址 */
    {
        $handle = fopen("/var/wwwroot/spam.log","a+"); /** 打开文件并得到一个句柄,据说a+是写入? */
        fwrite($handle,$aip."\n"); /** 将获得的ip地址添加到文件中 */
    }
    echo "Spam IP: ".$aip."\n";
    fclose($handle); /** 关闭句柄 */
    }
/** dao zhe li jie shu  */

将这段代码添加在 /wp-admin/includes/class-wp-comments-list-table.php 文件里的 < ?php ?>符号内, 然后再将 my_spam_ip(); 这句添加到下行的下方.

$author_ip_url = add_query_arg( 'comment_status', 'spam', $author_ip_url );

class-wp-comments-list-table.php

class-wp-comments-list-table.php


class-wp-comments-list-table.php

class-wp-comments-list-table.php


二: 将以下Shell脚本代码保存为.sh后缀的脚本文件,上传到服务器指定目录, 然后在cron里添加一条定时任务.
参考: Linux下使用crontab添加定时任务 http://www.myzhenai.com.cn/post/1628.html

# !/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
path="/var/wwwroot/spam.log"
size=`ls -l $path|awk '{print $5}'`
if [ $size -gt 0 ];then
for i in $(< $path)
do
if [ $i != "" ];then
h=`grep -c $i /etc/sysconfig/iptables`
if [ $h -lt 1 ];then
iptables -I INPUT -s $i -j DROP
fi
fi
done
service iptables save
service iptables restart
IFS=$SAVEIFS
echo -n "" > $path
chown -R apache:apache $path
chmod 777 $path
fi

Shell脚本

Shell脚本


至此,设置完毕,然后你就会发现WordPress后台接收到垃圾回复就会越来越少了,因为只要你删除了的垃圾回复系统就会自动将它的IP地址进行过滤了.

Dropbox更新版本的方法

星期日, 八月 21st, 2016

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/2281.html http://www.myzhenai.com/thread-17911-1-1.html
关键词: Dropbox升级 Dropbox更新 Dropbox提示 您使用的Dropbox是旧版本 请更新最新版本继续使用Dropbox
刚才运行Dropbox进行备份的时候,Dropbox弹出一个窗口,提示我的版本过旧,无法进行上传操作,因为我之前一直用的是Dropbox3.1.6版的,我以为Dropbox会自动更新,但是一点击窗口上的更新, 跳转到 https://www.dropbox.com/install?os=lnx 可是我不明白Dropbox的意思是让我重装Dropbox还是更新Dropbox. 当我下载了安装包和源码编译包进行安装和编译后,仍然是出现这样的提示, 所以我在想,应该问题不是出现在这里, 恰好我看到旁边有一个版本说明, 里边对应的版本里都有相应的下载链接,比如我下载的是稳定的内部版本的 8.4.19 https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-8.4.19.tar.gz 这个文件很大,但很奇怪,解压后却没有看到当前目录有文件夹, 后来显示所有文件才发现,这个是一个带标点符号的隐藏目录. 解压后得到.dropbox-dist目录,里边的就是最新版本的配置文件.
所以现在我们更新Dropbox就简单好多了, 选把旧版本的.dropbox-dist目录删除,接着下载对应版本的更新包文件,解压缩为.dropbox-dist, 问题完美解决.

Dropbox更新版本的方法

Dropbox更新版本的方法


Dropbox更新版本的方法

Dropbox更新版本的方法

使用F12键下载网页上的视频和音乐媒体文件的方法

星期二, 七月 5th, 2016

原创内容,转载请注明出处: http://www.myzhenai.com/thread-17891-1-1.html http://www.myzhenai.com.cn/post/2225.html
关键词: 怎样下载网页上的视频 怎么下载网页上的音乐 如何下载网页上的视频 如何下载网页上的歌曲
曾经下载歌曲和视频的方法是使用查看源文件来找到视频地址和歌曲地址,也可以通过在缓存目录里找到被缓存下来的文件, 但是这些方法现在已经不怎么有用了,因为现在的网页对视频和音乐都采用了Js加密,所以这两种方法也就没什么用处了, 也有些人使用了第三方的嗅探插件来进行下载. 但是现在很多浏览器的F12键就是一个免费并且不需要额外安装插件的嗅探大法. 使用方法很简单, 在当前的浏览页面上按下键盘上的F12键.

Firefox浏览器
按下F12键\网络\重新载入\选中 媒体 Flash 其他 注意查看栏目里的 文件 类型 大小等项目 一般在类型里如果出现mp4或avi,mp3等常见格式的,并且大小是比一般普通网页文件大的话,那么文件项目里就是这个文件的地址, 可以复制到下载工具里下载.

Edge和IE11

按下键盘上的F12键, 在弹出的浏览器控制台里选择 网络 选择内容类型 里勾选媒体,刷新当前网页. 注意查看 内容类型栏目里的文件格式 然后 名称/路径 栏目里是当前文件的地址.

这些地址随时会改变,所以不适合用于做文件外链,但可以下载.

演示页面地址 http://toutiao.com/a6301557633308426753/ http://bd.kuwo.cn/yinyue/1694599?from=dq360

卡巴斯基安全软件2016正常状态下显示黄色感叹号的解决方法

星期五, 五月 13th, 2016

原创内容,转载请注明出处: http://www.myzhenai.com/thread-17865-1-1.html http://www.myzhenai.com.cn/post/2207.html
关键字: 卡巴斯基安全软件 卡巴斯基2016 卡巴斯基黄色感叹号
问题描述,没有关闭任何防护功能,没有关闭监控,没有关闭自我保护,没有存在恶意软件,病毒库是最新的,只要报警,黄色感叹号就无法消除,不影响正常使用,但对有强迫症的人来说是个问题. 病毒库是最新版的,最新版的f补丁,已清除报警文件和隔离区,已重新扫描分区,没有问题,已重启卡巴斯基,已重启系统,黄色感叹号仍然存在,……
因为这个问题折腾了好久,在卡饭论坛上和卡巴斯基官方论坛上都看到有这样的提问,我也曾经提问过,但都没有一个很好的解决方法,以前我的解决方法只是重装卡巴斯基来解决. 但昨天因为调试博客上的文件,在附近目录中有几个黑客软件压缩包文件又触发了卡巴斯基拦截,又再一次出现问题,再次折腾了一晚上. 最后没法子, 给卡巴斯基官方提交了一个请求,在官方工程师的指导下完美解决.

解决方法:
1.点击桌面右下方“K”图标,打开卡巴斯基2016程序主界面
2.在界面左下方,单击“设置”
3.点击左侧第五项“附加”
4.选择界面右侧“自我保护”
5.将“启用自我保护”前面的勾去掉
6.关闭卡巴斯基窗口回到主界面
7.找到以下路径:
Windows 7以上操作系统
C:\ProgramData\Kaspersky Lab\AVP16\Report
8.将Report文件夹中的内容全部清空
9.点击桌面左下角“开始”——“所有程序”——“卡巴斯基安全软件”打开卡巴斯基程序
10.重复1-5操作将“自我保护恢复”

win10能上网,但右下角宽带连接图标显示红叉的解决方法

星期六, 四月 30th, 2016

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/2196.html http://www.myzhenai.com/thread-17859-1-1.html
关键词: win10 右下角电脑图标 宽带连接图标 红叉 感叹号
前天,不知道为什么我的win10系统的这部电脑不像以前那样需要拨号连接了, 一重启系统它就自动连接网络了, 虽然是可以使用,但我还是不太习惯,我也没有做过任何更改,我以为是系统中病毒了,被恶意程序更改了宽带连接方式, 所以就想着恢复成以往方式. 更重要的是,我发现家里其他另外三台电脑不能上网了,因为我有四台电脑,使用同一个宽带账号拨号(开了4个端口),可以同时拨号上网,但win10这台发生这故障后,其他另外三台电脑都无法同时上网了, 又没有办法关闭这台电脑的宽带连接, 因为宽带拨号那里根本就还没有拨号, 在那里拨号的话会提示 “调制解调器(或其他连接设备)报告了一个错误……” 但是却可以正常浏览网络.

为了这个问题,折腾了我两个晚上, 昨晚我出差回来后, 我重置了光纤猫, 重启了光纤猫,重装了win10的网卡和网络设备. 然后发现, 可以通过拨号程序拨号上网了, 也能同时几台电脑同时拨号上网了,但却又出现了另外一个故障, 那就是在重启系统的时候,在输入登录密码界面的那个连接图标显示一个红色的叉,提示无连接. 进入系统后, 拨号正常,也能正常上网, 可是那个右下角的宽带连接图标仍然还是显示红叉, 没有以前的那个感叹号和正常的电脑图标了. 为了这个问题又折腾了一个晚上, 刚才才解决的, 现在把解决方法与大家分享, 以便以后有同样故障的朋友们可以参考解决.

1:在更改适配器选项里将所有的网络连接删除
2:右键桌面上的 此电脑\属性\设备管理器 先备份好你的网卡驱动,然后将设备管理器里的 网络适配器下的所有项目卸载 重启
3:重新安装网卡驱动 (到这步还没有解决问题)
4:打开桌面上的控制面板\管理工具\服务 Windows Connection Manager 将这个服务设为自动,并启动这个服务

问题解决.

win10能上网,但右下角宽带连接图标显示红叉的解决方法

win10能上网,但右下角宽带连接图标显示红叉的解决方法


win10能上网,但右下角宽带连接图标显示红叉的解决方法

win10能上网,但右下角宽带连接图标显示红叉的解决方法


win10能上网,但右下角宽带连接图标显示红叉的解决方法

win10能上网,但右下角宽带连接图标显示红叉的解决方法


win10能上网,但右下角宽带连接图标显示红叉的解决方法

win10能上网,但右下角宽带连接图标显示红叉的解决方法

Windows10专业版安装VMware Workstation12.0显示无法将网络更改为桥接状态的解决方法

星期五, 九月 4th, 2015

原创内容,转载请注明出处:http://www.myzhenai.com.cn/post/2093.html http://www.myzhenai.com/thread-17652-1-1.html
关键字:无法将网络更改为桥接状态,没有未桥接的主机网络适配器 正在安装虚拟网络驱动程序 设备“VMnet0”上的网桥没有运行
虽然说VMware Workstation12.0开始兼容win10了,但是我在升级后却发现VMware Workstation12.0不能正常使用了.也更新了VMware tloos,但在更新系统完成后却突然发现不能使用桥接了.为此我折腾了两天,重新安装了好多次VMware Workstation12.0.还是不能解决问题.反而把我的网卡驱动给卸载了,两天上不了网,过程中无法安装新网卡驱动.VMware Workstation12.0无法安装虚拟网卡驱动.为此我还恢复了win10系统. 后来终于折腾能使用了.原来是更新win10系统后,不知道为什么系统自动更新了什么驱动造成好多软件不兼容,我之所以重新安装VMware Workstation12.0不起做用,是因为VMware Workstation12.0的虚拟驱动没有安装上.在设备管理器里的网络适配器里能看到两个VM开头的驱动,但是在网络连接里却看不到那两个VM开头的网络连接,难道win10更新的过程中造成这两个连接配置丢失了?
我在折腾过程中甚至出现了不能安装网卡驱动,不能安装VMware Workstation12.0虚拟驱动的故障,后来才发现,原为这个是因为我的卡巴斯基安全软件2015造成的,不知道为什么它拦截了虚拟设备的安装,所以才造成网卡驱动打不上,VMware Workstation12.0的虚拟设备也无法安装.卸载卡巴斯基安全软件2015和VMware Workstation12.0后,重新安装网卡驱动并安装VMware Workstation12.0后问题解决,最后才是安装卡巴斯基安全软件2015.
至于网上说的卸载删除VMware Workstation12.0虚拟网卡驱动,删除VMware里的虚拟网络,在VMware Workstation的虚拟网络编辑器里恢复默认设置,这一方法对我的故障来说没有一点作用效果.
如果你重新安装VMware Workstation12.0后网络使用正常,但出现以下提示时,请重新安装你的VMware tloos,并重新启动您的虚拟机.
默认声音设备无法打开
A device ID has been used that is out of range for your system
无法连接虚拟设备sound

卡巴斯基安全软件2015激活码丢失的解决方法

星期五, 九月 4th, 2015

我的卡巴斯基安全软件2015(原卡巴斯基安全部队更名而来)是三年的授权许可,但因为我把win7升级到win10的过程中折腾,把激活码给弄丢了,无法验证激活. 其实找回激活码很容易,我是在kaba365上购买的,于是在网站上重新找回激活码.
1:登录 http://www.kaba365.com/
2:购买中心\兑换激活码\ 输入你的产品密码.

卡巴斯基安全软件2015激活码丢失的解决方法

卡巴斯基安全软件2015激活码丢失的解决方法


卡巴斯基安全软件2015激活码丢失的解决方法

卡巴斯基安全软件2015激活码丢失的解决方法


卡巴斯基安全软件2015激活码丢失的解决方法

卡巴斯基安全软件2015激活码丢失的解决方法

Linux下禁止114so.cn劫持浏览器跳转的方法

星期二, 八月 11th, 2015

114so.cn劫持是最让用户烦恼的,电信也是个大流氓,你举报也无从举报,投诉也无从投诉. 所以我们现在只能从我们自身这里进行屏蔽.方法其实很多,我们可以在hosts里进行屏蔽,也可以在路由器里屏蔽.也可以利用iptables防火墙来屏蔽,我们这里不演示路由器里屏蔽了.我们这里只演示hosts和iptables屏蔽.
hosts屏蔽方法:

vi /etc/hosts
127.0.0.1   *.114so.cn
*.114so.cn  127.0.0.1

OR

echo "127.0.0.1   *.114so.cn" >> /etc/hosts
echo "*.114so.cn  127.0.0.1" >> /etc/hosts

iptables屏蔽方法:

service iptables restart
iptables -I FORWARD -d www.2345.com -j DROP
iptables -I FORWARD -d search.114so.cn -j DROP
iptables -I FORWARD -d daohang.114so.cn -j DROP
service iptables save
service iptables restart

shell一键脚本:

# !/bin/bash
echo "127.0.0.1   *.114so.cn" >> /etc/hosts
echo "*.114so.cn  127.0.0.1" >> /etc/hosts
service iptables restart
iptables -I FORWARD -d www.2345.com -j DROP
iptables -I FORWARD -d search.114so.cn -j DROP
iptables -I FORWARD -d daohang.114so.cn -j DROP
service iptables save
service iptables restart

Linux下禁止114so.cn劫持浏览器跳转的方法

Linux下禁止114so.cn劫持浏览器跳转的方法


Linux下禁止114so.cn劫持浏览器跳转的方法

Linux下禁止114so.cn劫持浏览器跳转的方法


Linux下禁止114so.cn劫持浏览器跳转的方法

Linux下禁止114so.cn劫持浏览器跳转的方法

CenTos下双击rpm安装包不能安装的解决方法

星期三, 四月 15th, 2015

动作无法完成
请求失败,更多细节可在细节报告中查询
The name org.freedesktop.PackageKit was not provided by any .service files
双击rpm安装包没有弹出安装窗口,而是弹出错误窗口,不能双击安装. 发生这样的问题是因为我们系统的PackageKit系统更新应用小程序没有启动,参照下图引导启动,然后重新启动系统就解决了.

CenTos下双击rpm安装包不能安装的解决方法

CenTos下双击rpm安装包不能安装的解决方法

kchmviewer-7.1安装错误的解决方法

星期六, 十一月 15th, 2014

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/1925.html http://www.myzhenai.com/thread-16360-1-1.html
kchmviewer官方下载地址: http://sourceforge.net/projects/kchmviewer/files/kchmviewer/
kchmviewer依赖QT,所以在安装之前您必须先要安装QT,请参考官方安装包里的README文档.

3. INSTALLATION
  Usually kchmviewer is distributed in source code archive, so you need to compile it first. It requires Qt version 
  4.4 or higher. Note that you need to install qt4-devel and qt4-tools packages (the last one might be included in 
  qt4-devel in your distribution), not just qt package.
  Also make sure you have chmlib-devel (some distros have it as libchm-devel) package installed. KDE build will check 
  for its presence, but qmake does not have necessary functionality to do so. If you are getting errors regarding missing 
  chm_lib.h file this means chmlib-devel is not installed.
3.1. Qt-only version
  To compile Qt-only version of kchmviewer, follow the procedure:
  > tar zxf kchmviewer-<version>.tar.gz
  > cd kchmviewer-</version><version>
  > qmake
  > make
    The compiled binary is in bin/kchmviewer. You could copy it somewhere, or use it as-is. It does not require installation.
  If QtWebKit module is not found, you will get the following error:
  > kchmviewwindow_qtwebkit.h:25:21: error: QWebView: No such file or directory
  Either install QtWebKit module, or remove "webkit" from QT+= line in src/src.pro

3.2 KDE4 version
  To compile the version of kchmviewer with KDE4 support, follow the procedure:
  > tar zxf kchmviewer-</version><version>.tar.gz
  > mkdir build
  > cd build
  > cmake ..
  > make
  > sudo make install
  For KDE version the installation is required, since the KHTML KIO slave cannot be used in place.
</version>

安装方法如下:
# yum install libzip* chmlib -y
# wget http://softlayer-sng.dl.sourceforge.net/project/kchmviewer/kchmviewer/7.1/kchmviewer-7.1-1.i586.rpm
# rpm -ivh kchmviewer-7.1-1.i586.rpm
如果出现以下错误,请将您的libzip卸载再重新安装新版本.
error: Failed dependencies:
libzip.so.2 is needed by kchmviewer-7.1-1.i586
解决方法:
# yum remove libzip* -y
# wget ftp://ftp.muug.mb.ca/mirror/fedora/linux/development/rawhide/i386/os/Packages/l/libzip-0.11.2-3.fc22.i686.rpm
# rpm -ivh libzip-0.11.2-3.fc22.i686.rpm
# rpm -ivh kchmviewer-7.1-1.i586.rpm
如果您是升级kchmviewer-7.1的,升级前您必须要yum remove kchmviewer* -y 才能进行下一步操作.
Libzip:http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libzip.so.2

我前两天升级kchmviewer-7.1的时候就遇到一堆问题,因为我是使用Centos6.6的默认源进行安装的libzip,所以导致安装版本太低,解决方法很简单,yum remove libzip* -y 然后重新安装就可以了.我的安装日志如下.

[root@localhost RucLinux]# rpm -qa |grep qt
qt-sqlite-4.6.2-28.el6_5.i686
qtlockedfile-2.4-3.el6.leigh123linux.i686
qt3-devel-3.3.8b-30.el6.i686
qt47-4.7.2-1_18.el6.i686
qt47-devel-4.7.2-1_18.el6.i686
poppler-qt4-devel-0.12.4-3.el6_0.1.i686
qt47-x11-4.7.2-1_18.el6.i686
qt47-webkit-4.7.2-1_18.el6.i686
qt-4.6.2-28.el6_5.i686
libqtxdg-devel-0.5.2-13.el6.i686
dbus-qt-0.70-7.2.el6.i686
dbus-qt-devel-0.70-7.2.el6.i686
poppler-qt4-0.12.4-3.el6_0.1.i686
qtsingleapplication-2.6.1-5.el6.leigh123linux.i686
libqtxdg-0.5.2-13.el6.i686
qt47-designer-plugin-phonon-4.7.2-1_18.el6.i686
poppler-qt-devel-0.12.4-3.el6_0.1.i686
qt47-webkit-devel-4.7.2-1_18.el6.i686
poppler-qt-0.12.4-3.el6_0.1.i686
qt3-3.3.8b-30.el6.i686
zlibrary-ui-qt-0.12.10-5.el6.i686

[root@localhost RucLinux]# rpm -qa |grep libzip
libzip-0.9-3.1.el6.i686
libzip-devel-0.9-3.1.el6.i686

[root@localhost RucLinux]# rpm -qa |grep chmlib
chmlib-0.40-3.el6.i686
chmlib-devel-0.40-3.el6.i686

[root@localhost RucLinux]# ln -s /usr/bin/qmake-qt47 /etc/alternatives/qmake
[root@localhost RucLinux]# ls -l /etc/alternatives/qmake
lrwxrwxrwx. 1 root root 19 11月 10 03:06 /etc/alternatives/qmake -> /usr/bin/qmake-qt47

[root@localhost RucLinux]# wget http://softlayer-sng.dl.sourceforge.net/project/kchmviewer/kchmviewer/7.1/kchmviewer-7.1.tar.gz
[root@localhost RucLinux]# tar zxf kchmviewer-7.1.tar.gz
[root@localhost RucLinux]# cd kchmviewer-7.1
[root@localhost kchmviewer-7.1]# /usr/bin/qmake-qt47
[root@localhost kchmviewer-7.1]# make
cd lib/ && /usr/bin/qmake-qt47 /home/RucLinux/kchmviewer-7.1/lib/lib.pro -o Makefile
cd lib/ && make -f Makefile 
make[1]: Entering directory `/home/RucLinux/kchmviewer-7.1/lib'
cd libebook/ && /usr/bin/qmake-qt47 /home/RucLinux/kchmviewer-7.1/lib/libebook/libebook.pro -o Makefile
cd libebook/ && make -f Makefile 
make[2]: Entering directory `/home/RucLinux/kchmviewer-7.1/lib/libebook'
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -fPIC -D_REENTRANT -Wall -W -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt47/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I../../src -I. -o ebook_chm.o ebook_chm.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -fPIC -D_REENTRANT -Wall -W -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt47/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I../../src -I. -o ebook_epub.o ebook_epub.cpp
ebook_epub.cpp: In member function ‘virtual bool EBook_EPUB::load(const QString&)’:
ebook_epub.cpp:55: Error:‘zip_fdopen’In this role has not been declared in the domain
ebook_epub.cpp: In member function ‘bool EBook_EPUB::getFileAsBinary(QByteArray&, const QString&) const’:
ebook_epub.cpp:308: Error:‘struct zip_stat’Members are not called 'valid' in
ebook_epub.cpp:308: Error:‘ZIP_STAT_SIZE’In this role has not been declared in the domain
ebook_epub.cpp:308: Error:‘struct zip_stat’Members are not called 'valid' in
ebook_epub.cpp:308: Error:‘ZIP_STAT_INDEX’In this role has not been declared in the domain
make[2]: *** [ebook_epub.o] Error 1
make[2]: Leaving directory `/home/RucLinux/kchmviewer-7.1/lib/libebook'
make[1]: *** [sub-libebook-make_default] Error 2
make[1]: Leaving directory `/home/RucLinux/kchmviewer-7.1/lib'
make: *** [sub-lib-make_default] Error 2

[root@localhost RucLinux]# wget http://softlayer-sng.dl.sourceforge.net/project/kchmviewer/kchmviewer/7.1/kchmviewer-7.1-1.i586.rpm
[root@localhost RucLinux]# rpm -ivh kchmviewer-7.1-1.i586.rpm
error: Failed dependencies:
	libzip.so.2 is needed by kchmviewer-7.1-1.i586
[root@localhost RucLinux]# 
kchmviewer-7.1 安装 错误 解决 方法

kchmviewer-7.1安装错误的解决方法