Submitted by gouki on 2012, January 10, 12:10 PM
原来我也写过一两篇,但真的不够详细,这一篇我复制过来的,比较详细,还是以这个为准吧:
原文地址是:http://tech.ddvip.com/2009-05/1242293722119123.html
一、时区
1. 查看当前时区
date -R
2. 修改设置时区
方法(1)
tzselect
方法(2) 仅限于RedHat Linux 和 CentOS
timeconfig
方法(3) 适用于Debian
dpkg-reconfigure tzdata
3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
在中国可以使用:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、时间
1、查看时间和日期
date
2、设置时间和日期
将系统日期设定成1996年6月10日的命令
date -s 06/22/96
将系统时间设定成下午1点52分0秒的命令
date -s 13:52:00
3. 将当前时间和日期写入BIOS,避免重启后失效
hwclock -w
三、定时同步时间
* * * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
Linux | 评论:0
| 阅读:13440
Submitted by gouki on 2012, January 10, 9:24 AM
原来我一直不知道这句话是什么意思,直到昨天去了游戏机店才发现原来是这样的。。。。
好象是说有一个游戏中NPC的台词是这个:原本我象你一样也是一个冒险家,直到我的膝盖中了一箭。原本这样的台词也不会太过引起人的注意,但这个游戏的编剧有点偷懒,于是几乎N多的NPC的台词就全是膝盖中了一箭。。。
然后,大家就很开心,开始有了这个中箭体。
google一下中箭体,百度百科果然已经有了介绍:http://baike.baidu.com/view/7027025.htm
原来,我还是理解错了,百科上是这么介绍的:
XML/HTML代码
- 至于这句对话为何会被玩家津津乐道,则要归功于国外视频网站YouTube。在该站某个视频中,一位外国美女使用小提琴演奏《上古卷轴5:天际》的主题曲,共有84位网友按了“dislike”键表示不喜欢这个视频,某网友见状,针对这84个不喜欢该视频的网友幽默地回复道:“有84个网友过去小提琴拉的和你一样好,直到他们的膝盖中了一箭。”膝盖中箭这句经典吐槽就此流行开来。
中箭体的视频图片,可惜我们打不开油吐B
Misc | 评论:0
| 阅读:13415
Submitted by gouki on 2012, January 8, 9:12 PM
在xmpp的官网上,有一个基于xmpp协议的服务器的列表,其中有一些是开源的,当然也有商业的。所以,如果你需要自己架设xmpp服务器,可以考虑搞一款开源的(可以用来做内部聊天室,内部联络方式,也不用担心这些帐号会遗失之类的。)
官网的地址在这里:http://xmpp.org/xmpp-software/servers/
懒得移步的人,可以直接看下面的地址,当然要注意其中哪些是商业版的哪些是开源的。
嗯,大部分都是java的。如果你用win服务器就太轻松了。
Tags: java
Linux | 评论:0
| 阅读:23219
Submitted by gouki on 2012, January 6, 10:48 AM
纯笔记,在使用ActiveRecord的时候一点注意事项。
本来在处理缓存的时候想对一些数据做强制缓存的,但结果预想的目标和我不一样。
我的$cachekey = md5(serialize($model).$parameter);
然后在调用的时候发现$model对象中的一些信息都消失了。起初以为参数没有传递,但测试了一下之后发现全部正常,那问题出在哪里呢?
再一步步的调试,发现出在serialize后对象就变了。于是看了一下CActiveRecord的源码,果然发现了源码中有定义__sleep(),纠结啊。
看来以后要注意一下,不能随便把model给序列化了。
Tags: cactiverecord, __sleep, serialize
PHP | 评论:1
| 阅读:19247
Submitted by gouki on 2012, January 6, 9:17 AM
在项目中,难免会在项目中调用一个不存在的类(偶尔,偶尔,当这个类的类名是程序生成的时候,偶尔会出现这种情况啦),在new 这个类时,都会直接报fatal错误,然后程序就终止了,怎么办?怎么避免这种情况发生?
注:下面的例子其实是指有autoload的情况下所触发的。如果没有autoload,也就相当于不会触发一个include文件的操作。直接就报FATAL错误了。而如果有autoload,则是报include文件的错误,这个时候才能被捕获,多谢神仙的指正
于是看手册set_error_handler,调用一个callback,处理完后,在这个方法里重新生成一个空类就OK了。看了一下手册上的例子
PHP代码
- <?php
-
- function myErrorHandler($errno, $errstr, $errfile, $errline)
- {
- if (!(error_reporting() & $errno)) {
-
- return;
- }
-
- switch ($errno) {
- case E_USER_ERROR:
- echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
- echo " Fatal error on line $errline in file $errfile";
- echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
- echo "Aborting...<br />\n";
- exit(1);
- break;
-
- case E_USER_WARNING:
- echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
- break;
-
- case E_USER_NOTICE:
- echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
- break;
-
- default:
- echo "Unknown error type: [$errno] $errstr<br />\n";
- break;
- }
-
-
- return true;
- }
看了一下,结果,发现只有$errstr中才有类名出现,但还是文件名,难道我要用正则?又仔细看了一下手册,发现callback还有一个第五个参数
XML/HTML代码
- errcontext
- The fifth parameter is optional, errcontext, which is an array that points to the active symbol table at the point the error occurred. In other words, errcontext will contain an array of every variable that existed in the scope the error was triggered in. User error handler must not modify error context.
输入第五个参数,原来,这是一个数组,如果我是类的话,里面就有className这个下标数组,直接就是类名了
同时还有一个很重要的问题,如果callback return false的话,会自动调用原来的出错处理。这 其实是影响我们的操作的。
最终代码如下:
PHP代码
- set_error_handler(function($errno,$errstr,$errfile,$errline,$clsname){
- if(isset($clsname['className'])&&$errno == 2&&!class_exists($clsname['className'])){
- $clsname = $clsname['className'];
- eval("class ".$clsname ." { static public function model(){return null;} }");
- }
- return true;
- },7);
- $result = mmmm::model();
- restore_error_handler();
-
在最后一行恢复了原来的出错处理,不影响原先程序结构。
终于可以直接用了。
Tags: php, eval
PHP | 评论:2
| 阅读:19015