关于战网《魔兽世界》等游戏出现“正在计算所需要的磁盘空间”问题的解决方法

《魔兽世界》怀旧服启动,本来心心念念要跑去玩一把,通过暴雪的战网进行安装的时候,在选择安装目录界面,一直出现“正在计算所需要的磁盘”的提示,然后就卡住,点击安装按钮无任何反应。

尝试重启等各种方法,未果,只好上Google寻求答案。解决方法五花八门,其中最诡异的就是重启路由器和光猫,官方的客服建议用网线直连到光猫而不是路由器上……

抱着试试看的心态将电脑的网线从路由器上拔下,直接连接到光猫上,重新启动战网,结果居然就可以开始安装了,该死的检查磁盘空间问题就这样搞定了……(发现如果选择二级目录的话依旧会卡住安装,所以我将游戏选择安装在根目录下)

这个问题太诡异了,难道暴雪在安装游戏之前会检查光猫和路由器的状态什么的,Can anybody tell me why……

KVM 虚拟机挂掉 console修复方法

一台使用了多年的KVM虚拟机,突然由于断电等原因导致无法正常启动,表现为:

virsh start虚拟机后,没有任何反应,远程ssh也无法连接到虚拟机中

试图用virsh的console进入虚拟机,但是一直出现Escape character os ^]的提示,无法进入。

Google查询是可以修改虚拟机的grub.conf设置来解决这个问题,但是虚拟机目前无法进入,根本无法对这个文件进行修改。

于是在KVM所在的服务器上,将虚拟机的img文件mount到一个目录(img是raw格式,具体mount方法可以Google),直接修改虚拟机中的/etc/grub.conf文件,在 kernel 这一行的末尾,添加 console=ttyS0

virsh重新start虚拟机,然后console进入,就可以看到虚拟机的报错信息了

发现是磁盘问题,用fsck修复磁盘后重启虚拟机,搞定。

ShadowsocksX-NG的User Rules不起作用的解决方法

 最近发现用很多网站打开很慢,查看Chrome的Developer tools发现,不少界面都卡在获取 这个地址无法打开,于是把它加到 SS 的 User Rules 中,但还是无法打开。


于是查看 gfwlist.js 文件里的配置,发现 已经在其中的,但是却不会用代理去链接,怪事。


然后继续翻看 gfwlist.js 里的规则,发现 被标记了 “@@”,也就是不使用代理,还真是坑……

于是删除掉“@@”相关的行,重启SS,就可以通过代理访问了。

如果有些地址加了 Rules 还是无法打开,可以看看是不是被 gfwlist 给过滤掉了……

php Invalid opcode 153/1/8 问题解决方法

今天试图给服务器装一个wikimedia,运行安装程序的时候,报错: Fatal error:  Invalid opcode 153/1/8.

Google一下发现是php的扩展eaccelerator的问题。新版本的php执行匿名函数等新特性,而eaccelerator对它无能为力。eaccelerator停止开发有年头了,github上最新的commit还是两年前的,唉…… 搞了半天没找到解决方案,后来发现在github这个库的讨论区中有人给出了方案。就是检查,如果碰到LAMBDA这种方式的函数,就直接跳过好了。

修改的代码在这里: https://github.com/toddbc/eaccelerator/commit/e7dc802057e9916c0e6751b87511fc43a89c0c3a

直接改好的optimize.c在这里: https://github.com/toddbc/eaccelerator/blob/e7dc802057e9916c0e6751b87511fc43a89c0c3a/optimize.c 把这个optimize.c覆盖掉eaccelerator下的同名文件,重新编译和安装该扩展,搞定。

PS:编译安装好后,记得清空eaccelerator的cache目录,否则老的代码由于缓存的关系还是会报错。