December 26, 2010
Snapshot appears to have been created more than one day into the future!
"\u003cp\u003e本地刚装完freebsd7.0,连上ssh,portsnap fetch extract一下,提示:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eSnapshot appears to have been created more than one day into the future!\n(Is the system clock correct?)\nCowardly refusing to proceed any further.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e原来是安装时系统时间不正确\n执行代码:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003entpdate pool.ntp.org\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e然后再执行portsnap fetch即可.\u003c/p\u003e"
December 25, 2010
FreeBSD下添加新硬盘
"\u003cp\u003e\u003ca href=\"http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/disks-adding.html\"\u003ehttp://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/disks-adding.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003esysinstall的方法:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e1.切换到 \u003cstrong\u003eroot\u003c/strong\u003e 用户。运行 ** \u003ccode\u003esysinstall\u003c/code\u003e** ,然后选择 \u003ccode\u003eConfigure\u003c/code\u003e 菜单。在 \u003ccode\u003eFreeBSD Configuration Menu\u003c/code\u003e 下,上下滚动, 选择 \u003ccode\u003eFdisk\u003c/code\u003e 条目。\u003c/p\u003e\n\u003cp\u003e2.进入 \u003cstrong\u003efdisk\u003c/strong\u003e 分区编辑器后,选择 \u003ccode\u003eA\u003c/code\u003e ,FreeBSD 将使用全部的磁盘。当被告知 “remain cooperative with any future possible operating systems”时,回答 \u003ccode\u003eYES\u003c/code\u003e。使用 \u003cstrong\u003eW\u003c/strong\u003e 保存刚才的修改。现在使用 \u003cstrong\u003eQ\u003c/strong\u003e 退出 FDISK 编辑器。下面会看到有关 “主引导区” 的信息。 现在您已经在运行的系统上添加了一个磁盘, 因此应该选择 ** \u003ccode\u003eNone\u003c/code\u003e**。\u003c/p\u003e\n\u003cp\u003e这里只是选择了硬盘,下面的第3才是真正的开始对磁盘进行分区.\u003c/p\u003e\n\u003cp\u003e3.接下来,您应该退出 \u003cstrong\u003esysinstall\u003c/strong\u003e 并且再次启动它(一些配置需要应用),并按照上面的步骤直接进入 \u003ccode\u003eLabel\u003c/code\u003e 选项。 …\u003c/p\u003e"
December 25, 2010
FreeBSD中的磁盘组织
"\u003ch1 id=\"35-磁盘组织\"\u003e3.5 磁盘组织\u003c/h1\u003e\n\u003cp\u003eFreeBSD 查找文件的最小单位是文件名。 而文件名区分大小写,这就意味着 readme.txt 和 README.TXT 是两个不相同的文件。 FreeBSD 不凭文件扩展名 (.txt) 去识别这个文件是 程序、 文档, 或是其他格式的数据。\u003c/p\u003e\n\u003cp\u003e各种文件存放在目录里。 一个目录可以为空, 也可以含有多个的文件。一个目录同样可以包含其他的目录, 允许您在一个目录里建立多个不同层次的目录。 这将帮助您轻松地组织您的数据。\u003c/p\u003e\n\u003cp\u003e文件或目录是由文件名或目录名,加上斜线符号 /, 再根据需要在目录名后面加上其他目录的名称。 如果您有一个名为 foo 的目录, 它包含另一个目录 bar, 后者包括一个叫 readme.txt 的文件, 则全名, 或者说到文件的 \u003cem\u003e路径\u003c/em\u003e 就是 foo/bar/readme.txt。\u003c/p\u003e\n\u003cp\u003e在文件系统里目录和文件的作用是存储数据。 每一个文件系统都有且只有一个顶级目录 \u003cem\u003e根目录\u003c/em\u003e, 这个根目录则可以容纳其他目录。\u003c/p\u003e\n\u003cp\u003e您也许在其他的一些操作系统碰到类似这里的情况, 当然也有不同的情况。 举些例子, MS-DOS® 是用 \\ 分隔文件名或目录名, 而 Mac OS® …\u003c/p\u003e"
December 24, 2010
web高性能及运维大会(O’Reilly Velocity China 2010)视频全集
"\u003cp\u003e\u003ca href=\"http://www.youku.com/playlist_show/id_5333814.html\"\u003ehttp://www.youku.com/playlist_show/id_5333814.html\u003c/a\u003e\u003c/p\u003e"
December 24, 2010
kern.maxfiles limit exceeded by uid 80,please see tuning(7)的解决办法
"\u003cp\u003e# sysctl kern.maxfiles\nkern.maxfiles: 3912\u003c/p\u003e\n\u003cp\u003e这个值太小了,需要修改一下\u003c/p\u003e\n\u003cp\u003e通过#sysctl 命令可以查看所有内核配置的信息\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.51docs.net/FreeBSD-Manual/kernelconfig.html\"\u003e配置FreeBSD的内核 http://www.51docs.net/FreeBSD-Manual/kernelconfig.html\u003c/a\u003e\u003c/p\u003e"
December 23, 2010
Sitemap的XML格式及注意事项
"\u003cp\u003e这篇文章介绍的比较全的:\u003c/p\u003e\n\u003cp\u003e此文档介绍适用于 Sitemap 协议的 XML 架构。\u003c/p\u003e\n\u003cp\u003eSitemaps 协议格式由 XML 标记组成。Sitemap 的所有数据数值应为实体转义过的。文件本身应为 UTF-8 编码。\u003c/p\u003e\n\u003cp\u003eSitemap 必须:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e以 \u003ccode\u003e\u0026lt; [urlset](http://www.sitemaps.org/zh_CN/protocol.php#urlsetdef) \u0026gt;\u003c/code\u003e 开始标记作为开始,以 `` 结束标记作为结束。\u003c/li\u003e\n\u003cli\u003e在 `` 标记中指定命名空间(协议标准)。\u003c/li\u003e\n\u003cli\u003e每个网址包含一个\u003ccode\u003e\u0026lt; [url](http://www.sitemaps.org/zh_CN/protocol.php#urldef) \u0026gt;\u003c/code\u003e 条目作为 XML 父标记。\u003c/li\u003e\n\u003cli\u003e在每个 `` 父标记中包含一个 \u003ccode\u003e\u0026lt; [loc](http://www.sitemaps.org/zh_CN/protocol.php#locdef) \u0026gt;\u003c/code\u003e 子标记条目。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e其他所有标记均为可选,搜索引擎不同,对可选标记的支持也各不相同。有关详情,请参阅各个搜索引擎的文档。\u003c/p\u003e\n\u003cp\u003e而且,Sitemap 中的所有网址都必须来自于同一个主 …\u003c/p\u003e"
December 23, 2010
站点地图标记定义
"\u003cp\u003e下表简要介绍了站点地图在列举网络网址时所需的标记。要添加关于特定内容类型的更多详情,请参见 \u003ca href=\"http://www.google.com/support/webmasters/bin/answer.py?answer=80471\"\u003e视频\u003c/a\u003e、 \u003ca href=\"http://www.google.com/support/webmasters/bin/answer.py?answer=178636\"\u003e图片\u003c/a\u003e、 \u003ca href=\"http://www.google.com/support/webmasters/bin/answer.py?answer=34627\"\u003e移动\u003c/a\u003e、 \u003ca href=\"http://www.google.com/support/news_pub/bin/answer.py?answer=75717\"\u003e新闻\u003c/a\u003e、 \u003ca href=\"http://www.google.com/support/webmasters/bin/answer.py?answer=75225\"\u003e软件源代码\u003c/a\u003e 以及 \u003ca href=\"http://www.google.com/support/webmasters/bin/answer.py?answer=94554\"\u003e地理 (KML) 信息\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e标记****必需\u003c/strong\u003e?\n\u003cstrong\u003e说明\u003c/strong\u003e\u003ccode\u003e\u0026lt;urlset\u0026gt;\u003c/code\u003e\n必需\u003c/p\u003e\n\u003cp\u003e包含站点地图中网址集的所有相关信息。\n\u003ccode\u003e\u0026lt;url\u0026gt;\u003c/code\u003e\n必需\u003c/p\u003e\n\u003cp\u003e包含特定网址的所有相关信息。\n\u003ccode\u003e\u0026lt;loc\u0026gt;\u003c/code\u003e\n必需\u003c/p\u003e\n\u003cp\u003e指定网址。请指定图片和视频的目标网页(又称播放页、引用页)。必须是具有唯一性的网址。\n\u003ccode\u003e\u0026lt;lastmod\u0026gt;\u003c/code\u003e\n可选\u003c/p\u003e\n\u003cp\u003e网址的最后修改时间,使用 YYYY-MM-DDThh:mmTZD 格式(时间值是可选的)。\n\u003ccode\u003e\u0026lt;changefreq\u0026gt;\u003c/code\u003e\n可选\u003c/p\u003e\n\u003cp\u003e提供关于网页更改频率的提示。有效值为:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ealways\u003c/code\u003e。对于每次访问时都发生更改的网页,请使用该值。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ehourly\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edaily\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eweekly\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003emonthly\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eyearly\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003enever\u003c/code\u003e。对于已存档的网址,请使用该值。\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003e\u0026lt;priority\u0026gt;\u003c/code\u003e\n可选\u003c/p\u003e\n\u003cp\u003e说明网站上的某个网址相对于其他所有网址的优先级。此优先级的范围是 1.0(极其重要)到 0.1(一 …\u003c/p\u003e"
December 21, 2010
nginx下实现浏览目录的功能
"\u003cp\u003enginx默认是不允许列出整个目录的。如需此功能,需要修改nginx的配置文件.方法如下:\n打开nginx.conf文件,在location server 或 http段中加入\n\u003cstrong\u003eautoindex on\u003c/strong\u003e;\n另外两个参数最好也加上去:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eautoindex_exact_size off;\n默认为on,显示出文件的确切大小,单位是bytes。\n改为off后,显示出文件的大概大小,单位是kB或者MB或者GB\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eautoindex_localtime on;\n默认为off,显示的文件时间为GMT时间。\n改为on后,显示的文件时间为文件的服务器时间\u003c/p\u003e\n\u003cp\u003e详细参照: \u003ca href=\"http://wiki.nginx.org/NginxChsHttpAutoindexModule\"\u003ehttp://wiki.nginx.org/NginxChsHttpAutoindexModule\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e如果想希望目录列表支持header,footer则可以安装三方插件:\n\u003ca href=\"http://wiki.nginx.org/NginxNgxFancyIndex\"\u003ehttp://wiki.nginx.org/NginxNgxFancyIndex\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e或者直接修改nginx源码,如\n\u003ca href=\"http://docs.linuxtone.org/\"\u003ehttp://docs.linuxtone.org\u003c/a\u003e 即为简单修改NGINX源码得到的效果.\u003c/p\u003e\n\u003cp\u003e来源: …\u003c/p\u003e"
December 20, 2010
Nginx中文件缓存设置
"\u003cp\u003e\u003cstrong\u003e十三 Nginx Cache 服务配置\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e如果需要将文件缓存到本地,则需要增加如下几个子参数:\u003c/p\u003e\n\u003cp\u003eproxy_store on 用来启用缓存到本地的功能\u003c/p\u003e\n\u003cp\u003eproxy_store_access user:rw group:rw all:rw;\u003c/p\u003e\n\u003cp\u003eproxy_temp_path 缓存目录;\u003c/p\u003e\n\u003cp\u003e在经过上一步配置之后,虽然文件被缓存到本地磁盘上,但每次请求仍会向远端拉取文件,为了避免去远端拉取文件,必须修改proxy_pass代码:\u003c/p\u003e\n\u003cp\u003eif ( ! -e $request_file) {\u003c/p\u003e\n\u003cp\u003eproxy_pass http://freeke;\u003c/p\u003e\n\u003cp\u003e}\u003c/p\u003e\n\u003cp\u003e即修改为有条件地去执行proxy_pass,这个条件就是当的文件在本地的proxy_temp_path指定的目录下不存在时,再向后端拉取.\u003c/p\u003e\n\u003cp\u003e摘自:Nginx指南\u003c/p\u003e"
December 20, 2010
[教程]FreeBSD+nginx下Awstats安装(原创)
"\u003cp\u003e\u003cstrong\u003e一.安装\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e注:我安装的时候为7.0的,这篇文章本人没有进行测试\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#cd /usr/ports/www/awstats #make install\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e跟 Apache HTTP Server(以下称 Apache)不同的是,Apache 可以将日志输出通过管道的方式进行重新定向,依此来进行自动的日志切割。Nginx 在现今版本上还没能跟 Apache 一样,通过%YY等参数按日期分批创建日志,但是通过给 nginx 进程发送一个特定的信号,可以使 nginx 重新生成日志文件。我们可以定期执行一个 Shell 脚本来切换日志,重新命名或转移,具体的脚本如下:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# mv /opt/nginx/logs/access.log /opt/nginx/logs/access_`date +%Y%m%d`.log\n# killall –s USR1 nginx\t#使用USR1参数通知Nginx进程切换日志文件\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e将以上脚本内容保存为文件名为 logcron.sh 存到自定的目录中,例如 /usr/local/etc/nginx/logcron.sh 使用 Crontab …\u003c/p\u003e"
December 20, 2010
使用 awstats 分析 Nginx 的访问日志
"\u003cp\u003eauth_basic “admin”; #用户名\u003c/p\u003e\n\u003cp\u003eauth_basic_user_file /opt/ngx/conf/admin.pass; #密码包路径\u003c/p\u003e\n\u003cp\u003e这篇文章内容部分有问题的,大家用的时候注意一下.特别是nginx的虚拟主机采用apache密码认证那一块的\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eauth_basic \u0026#34;admin\u0026#34;; #用户名\n/opt/ngx/conf/admin.pass; #密码包路径\n\u003c/code\u003e\u003c/pre\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e正解的格式应该为:\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eauth_basic \u0026#34;admin\u0026#34;; #用户名\nauth_basic_user_file /opt/ngx/conf/admin.pass; #密码包路径\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e**主要目录有三个:**\u003cstrong\u003e1./data/web\u003c/strong\u003e #虚拟主机根目录 \u003cstrong\u003e2./data/webroot/awstats\u003c/strong\u003e #开始统计分析Awstats 日志(分析前需要将运行日志切割脚本 logcron.sh),\u003c/p\u003e\n\u003cp\u003e分析脚本为:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.moabc.net …\u003c/p\u003e\u003c/blockquote\u003e"
December 20, 2010
php中is_file和file_exists效率的比较
"\u003cp\u003e下面是测试代码,分别循环10000次:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e$start_time = get_microtime();\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003efor($i=0;$i\u0026lt;10000;$i++)\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e{\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eif(is_file(‘url.txt’)) {\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e//do nothing;\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e}\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e}\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eecho ‘is_file耗时–\u0026gt;’.(get_microtime() – $start_time).'\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e’;\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e$start_time = get_microtime();\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003efor($i=0;$i\u0026lt;10000;$i++)\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e{\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eif(file_exists(‘url.txt’)) {\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e//do nothing;\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e}\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e}\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eecho ‘file_exits–\u0026gt;’.(get_microtime() – $start_time).'\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e’;\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003efunction get_microtime()//时间\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e{\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003elist($usec, $sec) = explode(‘ ‘, microtime()); …\u003c/p\u003e\u003c/blockquote\u003e"
December 20, 2010
50个非常有用的PHP工具
"\u003ch3 id=\"php是使用最为广泛的开源服务器端脚本语言之一当然php并不是速度最快的但它却是最常用的脚本语言这里有50个有益的php工具可以大大提高你的编程工作\"\u003ePHP是使用最为广泛的开源服务器端脚本语言之一,当然PHP并\u003ca href=\"http://izumi.plan99.net/blog/index.php/2008/01/17/ruby-vs-php-performance/\"\u003e不是速度最快\u003c/a\u003e的,但它却是\u003ca href=\"http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html\"\u003e最常用的脚本语言\u003c/a\u003e。这里有50个有益的PHP工具,可以大大提高你的编程工作:\u003c/h3\u003e\n\u003ch3 id=\"调试工具\"\u003e调试工具\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://code.google.com/p/webgrind/\"\u003eWebgrind\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://xdebug.org/index.php\"\u003eXdebug\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://gubed.mccabe.nu/\"\u003eGubed PHP Debugger\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.php-debugger.com/dbg/\"\u003eDBG\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.php-debug.com/www/\"\u003ePHP_Debug\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://sourceforge.net/projects/php-dyn/\"\u003ePHP_Dyn\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.bluestatic.org/software/macgdbp/\"\u003eMacGDBp\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"测试和优化工具\"\u003e测试和优化工具\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.phpunit.de/\"\u003ePHPUnit\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.simpletest.org/\"\u003eSimpleTest\u003c/a\u003e\n\u003ca href=\"http://www.simpletest.org/\"\u003e\u003cimg src=\"http://www.simpletest.org/images/simpletest-logo.png\" alt=\"Simpletest\"\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://selenium-rc.openqa.org/\"\u003eSelenium\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://matrix.squiz.net/developer/tools/php_cs\"\u003ePHP_CodeSniffer\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dbug.ospinto.com/\"\u003edBug\u003c/a\u003e\n\u003ca href=\"http://dbug.ospinto.com/\"\u003e\n\u003cimg src=\"http://www.javaeye.com/upload/attachment/70647/69c5a918-6d6b-36fc-a619-1f3e0175fdf4.jpg\" alt=\"\"\u003e\n\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.coderholic.com/php-profile-class/\"\u003ePHP Profile Class\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"文档工具\"\u003e文档工具\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://phpdoc.org/\"\u003ephpDocumentor\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://phpdox.net/\"\u003ePHP DOX\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"安全工具\"\u003e安全工具\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.phpcaptcha.org/\"\u003eSecurimage\u003c/a\u003e :验证码工具。\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://trac.anl.gov/scavenger/wiki/WikiStart\"\u003eScavenger\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://php-ids.org/\"\u003ePHP-IDS\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blog.evaria.com/2007/pixy-the-php-security-scanner/\"\u003ePixy\u003c/a\u003e :代码检查工具。\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"图形处理\"\u003e图形处理\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.maani.us/charts4/\"\u003ePHP/SWF Charts\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://pchart.sourceforge.net/index.php\"\u003epChart – a chart-drawing PHP library\u003c/a\u003e\n\u003ca href=\"http://simplepie.org/\"\u003e\n\u003cimg src=\"http://www.javaeye.com/upload/attachment/70649/60c3f0c2-7ac6-3c82-90d7-6584e631eb24.jpg\" alt=\"\"\u003e\n\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://wideimage.sourceforge.net/wiki/MainPage\"\u003eWideImage\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.magickwand.org/\"\u003eMagickWand For PHP\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"代码优化\"\u003e代码优化\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://pear.php.net/package/PHP_Beautifier\"\u003ePHP_Beautifier\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.waterproof.fr/products/phpCodeBeautifier/\"\u003ePHPCodeBeautifier\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://qbnz.com/highlighter/\"\u003eGeSHi – Generic Syntax Highlighter\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"版本控制系统\"\u003e版本控制系统\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://phing.info/trac/\"\u003ePhing …\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e"
December 18, 2010
dos下的延时命令
"\u003cblockquote\u003e\n\u003cp\u003erem 等待5分钟\nping -n 300 127.1 \u0026gt;nul 2\u0026gt;nul\necho 时间到\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e或者\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eping 127.0.0.1 -n 5000\u0026gt;nul\u003c/p\u003e\u003c/blockquote\u003e"
December 18, 2010
FreeBSD系统时间调整
"\u003cp\u003e先设置时区:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e# tzsetup\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e再与国家授时中心服务器对时:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e# ntpdate 210.72.145.44\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e以后自动同步:\u003c/p\u003e\n\u003cp\u003e首先修改 /etc/rc.conf 添加\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003entpd_enable=”YES”\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e到最后一行。\u003c/p\u003e\n\u003cp\u003e然后配置对时服务器:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e# vi /etc/ntp.conf\u003c/p\u003e\n\u003cp\u003eserver 210.72.145.44 prefer\nserver 159.226.154.47\nserver 127.127.1.0\nfudge 127.127.0.1 stratum 5\nrestrict default ignore\nrestrict 127.0.0.0 mask 255.0.0.0\nrestrict 192.168.0.0 mask 255.255.255.0 noquery nopeer notrust\nrestrict 210.72.145.44 noquery\nrestrict 159.226.154.47 noquery\ndriftfile /var/db/ntpd.drift\u003c/p\u003e\n\u003cp\u003e#/var/run/xntpd.pid\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e参考:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://hi.baidu.com/hisbox/blog/item/e1a831a443be88f79152eee4.html\"\u003eFreeBSD系统时间调整\u003c/a\u003e\u003ca href=\"http://www.oklinux.cn/html/other/unix/20070423/22119.html\"\u003e让FreeBSD使 …\u003c/a\u003e\u003c/p\u003e"