全部文章

一键清除SVN信息

当把一个文件夹加入到svn里进行版本管理以后,无论把它复制到什么地方,它都仍然在svn管理之下,其原因是系统在每个目录下都生成了隐藏的.svn目录,里面保存着svn的相关信息。有时候我们需要一个纯净的项目文件,想要删除这些.svn文件夹,要一个一个目录去删是很麻烦的,特别是目录结构比较复杂的时候,能让人抓狂死。

那么有没有批量删除的方法呢,我们知道批处理可以搞定

FOR /r "%1" %%f IN (.svn) DO RD /s /q "%%f"

当然我们希望可以更简单一点,比如直接在某个文件夹上右键就可以清除这些信息,那么我们可以通过注册表来添加右键shell,就像流氓软件常干的那样 o(╯□╰)o


(部分内容未显示...)

Nginx的目录权限配置

通常,如果我们打开autoindex选项,那么当用户访问一个没有默认文件的目录时,会以资源浏览器的方式让用户查看,显然这是不安全的。

Nginx下,要禁止用户查看文件夹结构,可以通过deny all来完成,Nginx会返回一个403错误。

按照ThinkPHP的推荐的部署配置,目录结构应该是这个样子:

Project
      ├─ App
      ├─ Public
      ├─ ThinkPHP
      └─ index.php


(部分内容未显示...)

配置Nginx支持ThinkPHP的URL重写和PATHINFO

ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可。在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以我们需要修改nginx.conf文件。

网上搜了很多方法都不奏效,研究了一天,发现通过以下的配置可以完美支持 'URL_MODEL' => 2 的情况了

	location /project/ {
	index  index.php;
	if (!-e $request_filename) { 
		rewrite  ^/project/(.*)$  /project/index.php/$1  last;
		break;
	}
}

location ~ .+\.php($|/) {
	set $script	$uri;
	set $path_info  "/";
	if ($uri ~ "^(.+\.php)(/.+)") {
		set $script     $1;
		set $path_info  $2;
	 }
		 
	fastcgi_pass 127.0.0.1:9000;
	fastcgi_index  index.php?IF_REWRITE=1;
	include /APMServ/nginx/conf/fastcgi_params;
	fastcgi_param PATH_INFO $path_info;
	fastcgi_param SCRIPT_FILENAME  $document_root/$script;
	fastcgi_param SCRIPT_NAME $script;
}

这里先把project下的请求都转发到index.php来处理,亦即ThinkPHP的单一入口文件;然后把对php文件的请求交给fastcgi来处理,并且添加对PATH_INFO的支持。

还有一个地方需要注意的是,Nginx配置文件里 if 和后面的括号之间要有一个空格,不然会报unknown directive错误。这个害我调了很久


(部分内容未显示...)

让Aptana支持cx标签库

ThinkPHP是一个优秀的国产PHP框架,内置了一套性能卓越的模板引擎ThinkTemplate,并且默认导入cx标签库,这样我们就可以像使用JSTL一样通过<volist>, <foreach>, <switch>等标签来完成复杂的操作。

遗憾的是,当我们在aptana里写了如下的代码时,编辑器会报错,告诉我们<volist>标签无法识别

<volist name='list' id='vo'>
	编号:{$vo.id}<br/>
	标题: {$vo.title}<br/>
	内容: {$vo.content}
	<hr>
</volist>

虽说项目一样可以正常运行,但是这红叉叉看起来那么刺眼,真是让人不爽。通过html validation配置,我们可以让编辑器忽略掉这类“不是错误的错误”。


(部分内容未显示...)

雄关漫道真如铁,而今迈步从头越

新建了一个分类,为这个分类写第一篇文章。

我打开白云黄鹤,我发现我的签名档里仍然写着这么一句话

要先在大河沟里做条小鱼;
然后可以尝试在小河沟里做个大鱼;
再以后找个大河沟当个大鱼;
最后争取自己造个河沟养鱼

非常幸运的是,我刚毕业就可以到一条比较大的河沟里扑腾一番,也正是因为这一番扑腾,我真正明白了我要做一条什么样的鱼。

我没有变成大鱼,也没有跑去小河沟,就开始自己造沟了,为什么呢?当别人这么问我的时候,我会说,为了我所爱的人可以过上更好的生活。可是当别人再问我所爱是谁时,我只能说,索爱是手机。


(部分内容未显示...)

Total: 118Page 1 of 241234567»