December 26, 2010
FreeBSD下的重装系统方法
"\u003cp\u003e都知道windows下系统挂了.从新装C盘.D.E.F其他盘的数据不会受影响.\u003c/p\u003e\n\u003cp\u003eFreebsd也可以.系统挂了从新安装的时候.只需要从新定义一下分区就可以了.\u003cstrong\u003e注意:\u003c/strong\u003e 这里的分区是在第一次安装系统的时候,手动分的/tmp,/usr/,/var分区,并非在/分区里面.否则无法使用此方法!!!先将安装光盘放入cd中. 登录系统后输入df查看分区.如果怕记性不好可以保存一张抓图.用IP命名保存好.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/12/freebsd_df.gif\"\u003e\u003cimg src=\"http://blog.haohtml.com/wp-content/uploads/2010/12/freebsd_df.gif\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e系统挂了从新安装的时候.Fdisk直接Q跳过.不用做任何更改.到Label的时候需要注意了.\n重装系统时.默认的分区状态会显示如下\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/12/freebsd_label_disk.gif\"\u003e\u003cimg src=\"http://blog.haohtml.com/wp-content/uploads/2010/12/freebsd_label_disk.gif\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e关于下面的这几个参数.我来简单的介绍一下.翻译技术不高.理解就行.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2010/12/freebsd_label_command.gif\"\u003e\u003cimg src=\"http://blog.haohtml.com/wp-content/uploads/2010/12/freebsd_label_command.gif\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCCreate// 创建DDelete// 删除MMount pt// 挂载WWrite// 写入NNewfs opts// 修改分区的文件系统QFinish// 完成SToggle softupdates// 启用/停用 SoftUpdates 模式ZCustom newfs// 常用的文件系统TToggle newfs// 是否格式化分区UUndo// 撤销先前所有操作AAuto …\u003c/p\u003e"
December 26, 2010
Error:/etc/fstab:Read-only file system错误的解决办法
"\u003cp\u003e在单用户模式下,修改/etc/fstab的时候出现这个错误:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eError:/etc/fstab:Read-only file system\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eRead-only file system 的原因很多。先重启一下的,看看能否解决的,如果重启还是解决不了,用命令:\u003c/p\u003e\n\u003cp\u003e修改挂载点/的权限为可读取模式:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emount -o rw /dev/ad0s1a /\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e此时可用mount查看\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#mount\n/dev/ad0s1a on / (ufs, local)\ndevfs on /dev(devfs, local, multilabel)\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e然后再编辑/etc/fstab,保存即可.\u003c/p\u003e\n\u003cp\u003e或者用这个命令:\u003c/p\u003e\n\u003cp\u003e或者用\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#fsck -fy /\n#mount -u /\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e自己没有测试过,网上找的。\u003c/p\u003e\n\u003cp\u003e相关文档:\u003c/p\u003e"
December 26, 2010
合并分区时,出现kern.geom.debugflags=16 提示信息的解决办法
"\u003cp\u003e在用sysinstall将原来一个硬盘的两个分区要合并在一个分区的时候,按W进行保存的时候,提示信息 “kern.geom.debugflags=16…”之类的信息,此时退出sysinstall模式,回到命令行状态下,扫行以下命令:\u003c/p\u003e\n\u003cp\u003e# sysctl kern.geom.debugflags=16\nkern.geom.debugflags: 0-\u0026gt;16\u003c/p\u003e\n\u003cp\u003e再用sysinstall命令里的label合并分区即可.\u003c/p\u003e"
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"