在虚拟机上尝试装ppptp的时候,发现一个问题,因为最后需要设置iptables,但是在执行的时候,报了这个错:
can’t initialize iptables table `nat’ ,后面还有一句我就不贴了。
找了很多资料,发现可能是在编译内核的时候,把nat去掉了。这样我就无法转发nat了。也就是说我的pptp是没有办法成功运行了。
哭
再google了一下,发现一些问题,如果要加上这个nat,好象非得重新编译内核。否则无法装上。当然,也看到一篇文章说直接运行某句命令就OK了。【来源:http://pearlin.info/enable-nat-module-for-vps-cant-initialize-iptables-table-nat-table-does-not-exist/】
但好象我的虚拟机不是openVZ的。。。继续哭泣
XML/HTML代码
- I was getting the following error which configuring NAT on a VPS server.
-
- =========
-
- # iptables -t nat -nvL
- iptables v1.3.5: can’t initialize iptables table `nat’: Table does not exist (do you need to insmod?)
- Perhaps iptables or your kernel needs to be upgraded.
-
- =========
-
- You can fix this by using the following commands.
-
- vzctl set 115 –iptables “iptable_nat iptable_filter iptable_mangle ip_conntrack ipt_conntrack ipt_REDIRECT ipt_REJECT ipt_multiport ipt_helper ipt_LOG ipt_state” –save
- Saved parameters for VE 115
-
- # vzctl restart 115
- …
- # vzctl enter 115
- # iptables -t nat -nvL
- Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
- pkts bytes target prot opt in out source destination
-
- Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
- pkts bytes target prot opt in out source destination
-
- Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
- pkts bytes target prot opt in out source destination
不知道VPS的提供商能不能帮我装了。如果不行,那我可能就要換VPS了。。。痛苦啊。下次还是用UBUNTU吧。方便。。。。
最近美团在卖迪斯尼动画片了,为我们家的小朋友买了一套。本来以为这个玩意上海没有的,于是在北京活动推出的时候,我请朋友从北京帮我买了三套,其余两套送给老家的兄弟了。
结果,今天在美团突然发现,原来上海也有的卖了,郁闷啊。。
http://www.meituan.com/r/i318604
不过,活动时间不长,只有(从现在开始算 2010-09-28 上午11时)
剩余时间
所以,想买的尽快啊。。我主要是看中了这个
本次团购的是由天艺在线提供的正版迪士尼经典大全(黄金典藏版)一套!原价180元,美团价仅售49元,折扣低至2.7折哦!
- 共16张DVD光碟,含18部迪士尼经典电影+347集迪士尼经典卡通;
- 国/英/粤三种配音,中/英字幕;
- 正版产品,商家已向美团提供了详细的出版社销售委托书证明;
- 包装盒采用磨砂烫金工艺制作,珍藏馈赠佳品;
- 本套光盘所有节目均由原版母带数字化翻录并修复而成。珍藏的是记忆,请不要用当代的高清动画的标准去要求50年前的经典哦~
如果小朋友不看,自己回忆一下也好,这让我想起了我在几年前在 卓越上 29块购买的 《猫和老鼠》
说实话,我不知道这是BUG还是新功能。【最后鉴定是浏览器的一个小BUG,不是typecho的BUG,但对于附件,我还是提出了我个人想法】
在0.8版本中,如果你选择新建一篇文章,同时选择添加一个附件。然后提交表单新增文章,重新打开后,你会发现文章并没有附件。打开数据库,发现文件已经上传,而且ID还在文件ID前面,只是parent_id就是0了。
然后再选择新建一篇文章,这个没有归档的附件就显示在新文章的附件列表里。不管是是否选择插入,反正这个附件已是属于这篇 新文章了。
在此,我猜测这应该算是一个BUG,程序开发人员考虑到了附件上传的不可靠性,所以选择了先上传图片,但是其实对于博客来说,文章应该是更重要的。所以,完全是可以等文章写完再上图片。而不是直接就把图片插入数据库,然后在更新的时候无法插入(wordpress对于未归档的图片,都可以通过插入媒体来进行重插入,而typecho没有插入媒体这个选项,因此,图片就处于永远无法插入的情况了)。
当然,这只是纯理论研究(通过查看数据库ID的顺序得知),真相需要查看代码方可了解。
------鉴定----
说明:上述过程在Firefox下产生(开启flash block情况,将本地路径加入whitelist后一切恢复正常),IE下一切正常。搜狗浏览器选择高速模式无法登录(兼容模式方可登录,不过兼容模式就是IE核心,因此未做测试)
因此最终结论为:程序插入附件的流程操作一切正常,只是偶尔在一些插件启用时造成未知错误而已。出现我这种情况,应该是flash的关系,是它没有返回正确值,导致表单在提交时,调用$this->attach($cid)方法时没有获取到附件情况。而新建文章的时候,对于parent为0的附件,好象程序会强制插入新文章,这一点不敢芶同。
在file_upload.php中就是这样写的:
PHP代码
- if ($cid) {
- Typecho_Widget::widget('Widget_Contents_Attachment_Related', 'parentId=' . $cid)->to($attachment);
- } else {
- Typecho_Widget::widget('Widget_Contents_Attachment_Unattached')->to($attachment);
- }
我还是觉得这种事情应该交由用户处理,而不是在新建文章的时候被强制插入。这种情况如果出现在多人协作的时候就会让人受不了了吧?因为他在执行Unattached的execute方法时,where条件中并没有userid。所以A上传的图片,极有可能会被B强制使用。(虽然机率不大,但,难保会出现这种情况。)
文章来自:http://blog.csdn.net/jh_zzz/archive/2010/01/11/5173851.aspx,由于我也正在看 typecho这个玩意所以,就记录下来。虽然我一天下来,也看了不少代码,但毕竟没有深读过。对于流程啥的,还没有开始关心,只是为了写而写。
第二篇:数据库访问
这一块比较复杂,我还没有完全理解为什么要把 SQL 语句的组装搞这么复杂。
从一个普通皮肤页面开始 themes\default\index.php ,代码如下:
PHP代码
- <?php while ($this -> next()): ?>
- < div class ="post">
- < h2 class ="entry_title">< a href ="<?php $this -> permalink() ?>"><?php $this -> title() ?></ a ></ h2 >
- < p class ="entry_data">
- < span ><?php _e(' 作者: ' ); ?><?php $this -> author(); ?></ span >
- < span ><?php _e(' 发布时间: ' ); ?><?php $this -> date('F j, Y' ); ?></ span >
- < span ><?php _e(' 分类: ' ); ?><?php $this -> category(',' ); ?></ span >
- < a href ="<?php $this -> permalink() ?>#comments"><?php $this -> commentsNum('No Comments' , '1 Comment' , '%d Comments' ); ?></ a >
- </ p >
- <?php $this -> content(' 阅读剩余部分 ...' ); ?>
- </ div >
- <?php endwhile ; ?>
从上面我们知道这个文件是在 Widget_Archive 执行时被 包含进来的,所以在这里 $this 就是 Widget_Archive , next() 函数具体实现在 Typecho_Widget 中,他只是从 $stack 中取出一行数据返回,然后移向下一行, $stack 中的数据是如何生成的呢?
在 Widget_Archive 的 execute 函数中,有这几行:
$select = $this -> select()-> where ('table.contents.status = ?' , 'publish' )
-> where('table.contents.created < ?' , $this -> options-> gmtTime);
… 中间代码略过 …
$select -> order('table.contents.created' , Typecho_Db:: SORT_DESC)
-> page($this -> _currentPage, $this -> parameter-> pageSize);
$this -> db-> fetchAll ($select , array ($this , 'push' ));
下面是 Widget_Abstract_Contents:: select()
PHP代码
- public function fetchAll($query , array $filter = NULL )
- {
-
- $resource = $this -> query ($query , self:: READ);
- $result = array ();
-
-
- if (! emptyempty ($filter )) {
- list ($object , $method ) = $filter ;
- }
-
-
- while ($rows = $this -> _adapter-> fetch ($resource )) {
-
- $result [] = $filter ? call_user_func (array (& $object , $method ), $rows ) : $rows ;
- }
- return $result ;
- }
首先执行 query() , query() 函数会执行:
$resource = $this -> _adapter-> query($query , $handle , $op , $action );
然后将查询的结果返回,根据上面 提到的 config.inc.php ,这里的 _adapter 是 Typecho_Db_Adapter_Mysql ,他其实就是执行了一个 mysql 查询:
if ($resource = @ mysql_query($query instanceof Typecho_Db_Query ? $query -> __toString() : $query , $handle )) {
return $resource ;
}
这里的 $query->__toString() 会返回经过 Typecho_Db_Query 处理后的 最终用来执行的 SQL 语句。
得到查询结果后,上面的 fetchAll 函数就循环调用回调函数将数据回调出去,前面的代码中 Widget_Archive 在调用时指定的是 push ,在 push 函数中返回的每一行数据都被压入 $stack ,这样 $stack 中就有了一行行的数据了。
本文标题所涉及的文章是一篇软文,从文中的内容其实完全可以证明,特别是最后一段话:
全文:http://www.cnbeta.com/articles/109762.htm
- 一个摘自某IT网站的手机品牌排名:1. 诺基亚 2.三星 3.摩托罗拉 4.索尼爱立信 5.LG 6.苹果 7.魅族 8.夏普9.联想 10.多普达
知道多普达大约是在03年?那时候《英雄》电影刚刚出来,然后多普达的广告拼命做,手机中的英雄。从那之后就知道了,也确实从那之后才知道,原来手机可以这样玩。
再一样那时候的诺基亚6100?(不记得是不是这个型号了,就是传说中的小胖)最早的S40,用了多普达再用它,是绝对受不了的,因为响应非常慢。
其实我倒不是说SB不好,至少我在用索爱M608的时候,对于上面SB系统我还是很满意的,当然也可能是索爱功力深。
从01年到现在,我用过的手机不算太多,但也涉及多个品牌:从最初三星的N188,到索爱T618(为民族大团结而奉献),爱立信T39,诺基亚3100,诺基亚6???(不记得啥型号,在华师大后门买的,三个月就坏了,然后修了两次就被我扔了。)诺基亚ngage-QD,多普达586W,索爱M608,然后就是现在用的这个G2了。
用的最舒服(操作感)的就是多普达586W,索爱M608C,G2,最最爽的就是现在的G2,然后是M608,再然后是586W,因为586W的摇杆让我的手指在长时间操作后很疼,其他都挺好。M608是因为不支持edge才被我抛弃。G2目前为止,灰常满意。
上面提到的那个文章被人也痛批了,估计大概意思是:
XML/HTML代码
- 楼主作为NOKIA的内部从业者,忍受了这么多压力,发泄一下也是可以理解的。只是你不要以为众人皆醉我独醒。至少我所见过的ITer们上至部门总管下至工作人员,没有几个用NOKIA的。我自己在高校做手机研发。我实在看不出NOKIA好在哪里。之所以中国那么多人用,是因为中国大部分人的要求很低,功能多不多无所谓,只要耐用就行。大部分人买NOKIA也是冲着他瓷实才买的。但是,君不见现在农村市场也是山寨机盖过NOKIA的势头了么?300块一个山寨机,还带触摸屏。就是一年换一个。三年也就900块。而且每月还有话费赠送。你900块的NOKIA能买个什么货?没有性价比,迟早完蛋。LZ88。不送!
XML/HTML代码
- 很明显,这篇是针对Android系统的,虽然提到了其它的,其实都只是为抹黑Android作铺垫罢了。。。估计发文者应该与诺基亚Symbian有关。Android现在非常红,联想,魅族都要用Android系统。。Symbian太差,可能被老总骂了,于是在网上发泄。发文者说别人喷诺基亚,其实别人没喷诺基亚,倒是作者在喷别人。。还有一处非常搞笑,“只有你们这伙自以为是的ITer才会干这些浪费生命的事情”其实发文者又何尝不是在自己在骂自己呢。。。。自己打自己的嘴巴。。。
XML/HTML代码
- 初期的挪鸡鸭确实很不错,但自从进入彩屏时代开始,挪鸡鸭就开始吃老本了。屏幕烂,智能机响应慢,质量开始下滑。作者感觉只不过是一个用手机没几年的小孩,商品排名是有惯性存在的,moto在崩塌之前的几年不也是市场大牛,以前的爱立信也曾经强壮过,现在强不代表将来也强,如果一直依赖旧有口碑做买卖而不思进取,被淘汰只是迟早的问题
果然是有钱没文化就用XXX。。