今天一早起来很悲哀地发现MPC的另一个小bug,这个小bug浪费了另一个六小时。什么bug呢?具体来说就是忽略了23小时59分和1天之间的区别。

  千里之堤,溃于蚁穴呀……

  随后更郁闷的发现,专门给我做登陆跳板的服务器挂了,管理员说星期一才会把它搞好。于是我不得不决定:自己架一个linux的php环境,把MPC移到本地来进行!

  最佳选择自然是cygwin。安装cygwin还是挺简单的,不过要在这个linux+windows的杂合体中安php却是件难事。搞不懂为何php这等流行语言都进不了cygwin的大门,还要我们来麻烦地编译?

  搞到最后终于搞定了,就把足迹记下,方便后来人,因为我也是好麻烦才搞定的。虽然cygwin论坛上有帖子介绍(http://www.cygwin.com/ml/cygwin/2004-01/msg00383.html),不过这个方法太麻烦了。我的方法虽然可能不是那么正宗,但现在好像还没出什么大问题(貌似有一点小问题,也许后来人可以解决一下)。

  首先先要把gcc和flex这两个插件装上,cygwin里面都有,不过默认是不装的。否则对php做configure的时候会出错。而且php不能用5版本的,我用的是4.4.6版。做configure,大约要三五分钟,之后将make中的libphp4.so更为libphp4.dll,make,再到libs文件夹执行如下命令:

gcc -shared -o libphp4.dll -Wl,--out-implib=libphp4.dll.a -Wl,--export-all-symbols -Wl,--whole-archive=libphp4.a /usr/local/apache/libexec/libhttpd.dll -Wl,--no-whole-archive -lcrypt

  执行完毕以后,回到根目录,再做make install。现在就好啦,测试一下吧?php run-test.php,运行得还可以吧?

  只是我发现无论运行什么都会出现X-powered by php之类的信息,难道是哪里出错了?谁有兴趣可以试试看。

  好了,之后可以在这个临时搭建的cygwin+php下运行我的MPC了,出不少错误而且速度很慢(哪里比得上国台的4芯机子……)。上面的过程让我从晚5点忙到晚8点,终于搞好了,开始运行MPC。结果晚9点的时候管理员通知我服务器恢复,我兴冲冲的关了cygwin准备再次享受4芯的畅快,结果发现:服务器还没有好!

  >_< 懒得重开cygwin,只好再次艰难的等待!