记已去的2012

整整有一年没有写博客了,最近Google Reader也迎来了关闭的命运,看来个人博客离当年的如日中天真是越来越远了。虽然如此,但在年前萌生重拾的想法依然希望能够如约进行。先将去年一年发生的事情用Change log般的方式补上吧。

  • 二月
    带着贱贱(我的猫)和一大箱行李从广州迁移到了杭州。从拎起猫笼和行李箱那一刻开始,注定痛而快乐的一年便开始了。别了,妖都。别了,曾深爱与痛恨过的妹子。
  • 三月
    痛苦的适应华东阴冷的冬天,朝北的小房间,包子君「糜烂」的生活习惯,以及难吃的食物。兴奋的入职了某公司,职业方向转变到Web前端。刚入职便赶上团队Outing,深山泡温泉,以及欢乐的打了一夜麻将。
  • 四、五月
    Work hard, nothing else.
  • 六月
    第一次独自旅行,在南京散漫的压马路,直到脚板酸到大腿内侧。生日当天游览了中山陵,某妹子在QQ上说「人家过祭日(其实并不是中山先森的祭日),你却过生日」。南京是个好城市。
  • 七月
    约炮告白失败。
  • 八、九月
    公司业务线调整,跟着导师一起加入了一条苦逼,但机会更多的业务线,同时迎来了工作上的转机。第一次用JS做了个小游戏,后来的几个月又做了几个,再后来他们开始叫我「游戏小王子」。
  • 十月
    至今去了趟帝都,终于见到一起扯淡多年的美女网友VV。
    谈了一场短暂的恋爱,两极的性格碰撞,痛苦分手。世界末日没有到来。
Life’s a struggle. To be continued.

用PHP设定WINDOWS计划任务

通常在LINUX下可以用CRON来完成这项任务,那么在WINDOWS平台可以使用系统自带的任务计划来完成。

WINDOWS的任务计划有一个可视化的管理器,具体位置是“控制面板”  - ”任务计划“ (WIN7则是在”控制面板“ – ”管理工具“中)。可视化的管理器使用非常简单,网上也有大堆的教程介绍,我就不细说了。

这里稍微提一下在命令行下的操作,以及如何使用PHP来对其进行操作。

任务计划在命行下的名字为schtasks,其实也就是windows/system32下的一个程序。

创建任务 schtasks /Create /TR taskname /TR taskrun /st starttime /sd startdate

更多的参数和解释可以参照 schtasks /Create /?

修改任务 schtasks /Change /TR taskname …

更多的参数和解释可以参照 schtasks /Change/?

另外还有查询、删除、终止等功能,就不一一列了,运行schtasks /? 会有很详细的帮助,而且都是中文的(当然用英文系统的童鞋就不是了 :P

用PHP操作命令行其实非常简单,只需要用到exec函数,那么我们只需要把创建(或改,删)的命令使用exec来执行就OK了。

说到这里,先不要急,事情还没完。当你试图用exec去执行schtasks的时候,发现啥都不会返回,同时也没有按照你的意愿成功的执行任何东西。

我也为这个问题稍稍苦恼了一下,但很快在PHP  documentation的评论里找到了答案:

via http://www.php.net/manual/en/ref.exec.php#74897

Scheduling WinXP tasks with schtasks.exe and using PHP to execute the command, may sometime fail to work.

This is because, Apache does not have the privilege to access some of the System Files when placing the scheduling. The way I’d do: is by creating a normal user account and assign Apache service to logon as that account.

Open the ‘services.msc’ in the ‘Run’ window, look for Apache in the listing, right click and get to ‘Properties’. Click at the second tab ‘Log On’ and fill in the ‘This account’ fields.

Of course, Apache needs to be installed as Service during its first setup.

Hope this helps anyone.

Fendy Ahmad

看到这里我想大部分人已经明了了。是因为Apache权限不够的问题,只需要在services.msc里面找到apache服务,然后赋予有对应权限的用户即可。

PHP Simple HTML DOM Parser – 用PHP轻松解析HTML DOM

这个玩意,用来采集挺好的。别的就不废话了。

项目地址:http://simplehtmldom.sourceforge.net/

简介

  • 使用PHP5实现的HTML DOM解析器。让你能够使用PHP5轻松操纵HTML DOM。
  • 支持PHP5及以上版本。
  • jQuery一样使用选择器获取HTML标签。
  • 一行代码获取HTML中的内容。

快速入门

1、如何获取HTML节点?

// Create DOM from URL or file
$html = file_get_html(‘http://www.google.com/’);

// Find all images
foreach($html->find(‘img’) as $element)
echo $element->src . ‘
‘;

// Find all links
foreach($html->find(‘a’) as $element)
echo $element->href . ‘
‘;
Continue reading

在Debian Squeeze上安装Nginx+PHP5+MySQL

这是一篇纯粹为菜鸟谋福利的翻译教程(也是哥第一次装逼翻译)。为啥说是为菜鸟谋福利呢,因为老外写的教程通常都非常详细,每一步你需要做什么,为什么要这样做,会遇到什么问题都一一列了出来。所以,你懂的。

原文地址:

http://howtoforge.org/installing-nginx-with-php5-and-mysql-support-on-debian-squeeze

Tips:如果是想从Apache上迁移到Nginx只需要先停止apache服务
/etc/init.d/apache2 stop

然后卸载之
apt-get remove apache2

再然后略过以下已安装过软件步骤即可。

1、安装MySQL5

apt-get install mysql-server mysql-client

执行后进入安装,过程中会遇到MySQL提示为root用户设置密码:

New password for the MySQL “root” user: <– yourrootsqlpassword
Repeat password for the MySQL “root” user: <– yourrootsqlpassword

2、安装Nginx

Nginx已经被包含在了Debian Squeeze软件源中,所以我们只需要直接从源中安装:
apt-get install nginx

安装完成之后启动Nginx:
/etc/init.d/nginx start

Nginx默认的根目录是/var/www。如果没有这个目录,必须创建一个(并且设置目录所有者和用户组,以确保有权访问):
Continue reading

人生总有些这样那样的蛋疼

好吧,确实每当这样的时段,我总是不失时机的就要回来感概一番。

断断续续的投了不少简历出去,随着最初盘算着某知名公司失败,到最后妥协去了几家规模小公司面试,直到现在依然没有遇上心目中觉得最合适的,以至于把自己推到一个蛋疼的局面。后来与包子君聊过诸多,自己想过许多之后也觉悟了。

想起好几年前的一个场景,夏天的夜晚在乡下,农家小院里摆着一张小桌子,七叔一边喝酒一边从满是酒味的嘴里吐出“心灵鸡汤”。当时的情况是家境非常寒碜,以至于我一到假期便要去各个亲戚家借宿。七叔在我记事以来的印象一直就是终日只知喝酒赌博的懒汉,有些心灵鸡汤从他口中出来还真的是一点也不和谐。但人就是这样,即使自己再不济,也要在下辈面前摆出一副经历过大风浪的牛逼模样。就是在这样的时刻,我想起那时七叔夹起一筷子酸菜,然后对我说,今天你在这儿吃了一顿只有酸菜的饭,以后是不会有人记得的,你受过多少苦,多少难,只有你自己记得,而且你要永远的记得。

我不是第一次回想到这个场景了,虽然一点儿也不文艺,但每每想起,心中还是会有股莫名的热血涌起。