<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>風逸飛&#039;BLOG</title>
	<atom:link href="http://www.xhxu.cn/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xhxu.cn/blog</link>
	<description>顺手一笔,记录生活点滴</description>
	<lastBuildDate>Tue, 08 May 2012 02:26:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>CentOS 网络设置修改</title>
		<link>http://www.xhxu.cn/blog/archives/173</link>
		<comments>http://www.xhxu.cn/blog/archives/173#comments</comments>
		<pubDate>Tue, 08 May 2012 02:26:32 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=173</guid>
		<description><![CDATA[CentOS 网络设置修改 一、CentOS 修改IP地址 修改对应网卡的IP地址的配置文件 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改以下内容 DEVICE=eth0 #描述网卡对应的设备别名，例如ifcfg-eth0的文件中它为eth0 BOOTPROTO=static #设置网卡获得ip地址的方式，可能的选项为static，dhcp或bootp，分别对应静态指定的 ip地址，通过dhcp协议获得的ip地址，通过bootp协议获得的ip地址 BROADCAST=192.168.0.255 #对应的子网广播地址 HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址 IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定，此字段就指定了网卡对应的ip地址 IPV6INIT=no IPV6_AUTOCONF=no NETMASK=255.255.255.0 #网卡对应的网络掩码 NETWORK=192.168.1.0 #网卡对应的网络地址 ONBOOT=yes #系统启动时是否设置此网络接口，设置为yes时，系统启动时激活此设备 二、CentOS 修改网关 修改对应网卡的网关的配置文件 [root@centos]# vi /etc/sysconfig/network 修改以下内容 NETWORKING=yes(表示系统是否使用网络，一般设置为yes。如果设为no，则不能使用网络，而且很多系统服务程序将无法启动) HOSTNAME=centos(设置本机的主机名，这里设置的主机名要和/etc/hosts中设置的主机名对应) GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如，网关为10.0.0.2) 三、CentOS 修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf 修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameserver 8.8.4.4 #google域名服务器 四、重新启动网络配置 # service [...]]]></description>
			<content:encoded><![CDATA[<p>CentOS 网络设置修改</p>
<p>一、CentOS 修改IP地址<br />
修改对应网卡的IP地址的配置文件<br />
# vi /etc/sysconfig/network-scripts/ifcfg-eth0<br />
修改以下内容<br />
DEVICE=eth0 #描述网卡对应的设备别名，例如ifcfg-eth0的文件中它为eth0<br />
BOOTPROTO=static #设置网卡获得ip地址的方式，可能的选项为static，dhcp或bootp，分别对应静态指定的 ip地址，通过dhcp协议获得的ip地址，通过bootp协议获得的ip地址<br />
BROADCAST=192.168.0.255 #对应的子网广播地址<br />
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址<span id="more-173"></span><br />
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定，此字段就指定了网卡对应的ip地址<br />
IPV6INIT=no<br />
IPV6_AUTOCONF=no<br />
NETMASK=255.255.255.0 #网卡对应的网络掩码<br />
NETWORK=192.168.1.0 #网卡对应的网络地址<br />
ONBOOT=yes #系统启动时是否设置此网络接口，设置为yes时，系统启动时激活此设备<br />
二、CentOS 修改网关<br />
修改对应网卡的网关的配置文件<br />
[root@centos]# vi /etc/sysconfig/network<br />
修改以下内容<br />
NETWORKING=yes(表示系统是否使用网络，一般设置为yes。如果设为no，则不能使用网络，而且很多系统服务程序将无法启动)<br />
HOSTNAME=centos(设置本机的主机名，这里设置的主机名要和/etc/hosts中设置的主机名对应)<br />
GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如，网关为10.0.0.2)<br />
三、CentOS 修改DNS<br />
修改对应网卡的DNS的配置文件<br />
# vi /etc/resolv.conf<br />
修改以下内容<br />
nameserver 8.8.8.8 #google域名服务器<br />
nameserver 8.8.4.4 #google域名服务器<br />
四、重新启动网络配置<br />
# service network restart<br />
或<br />
# /etc/init.d/network restart<br />
修改 IP 地址<br />
即时生效:<br />
# ifconfig eth0 192.168.0.2 netmask 255.255.255.0<br />
启动生效:<br />
修改 /etc/sysconfig/network-scripts/ifcfg-eth0<br />
修改网关 Default Gateway<br />
即时生效:<br />
# route add default gw 192.168.0.1 dev eth0<br />
启动生效:<br />
修改 /etc/sysconfig/network<br />
修改 DNS<br />
修改/etc/resolv.conf<br />
修改后可即时生效，启动同样有效<br />
修改 host name<br />
即时生效:<br />
# hostname centos1<br />
启动生效:<br />
修改/etc/sysconfig/network</p>
<p>修改网卡配置<br />
#vi /etc/udev/rules.d/70-persistent-net.rules</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/173/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Photoshop CS6 简体中文正式版（附破解补丁）破解优化版下载</title>
		<link>http://www.xhxu.cn/blog/archives/169</link>
		<comments>http://www.xhxu.cn/blog/archives/169#comments</comments>
		<pubDate>Thu, 03 May 2012 16:46:18 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[软件世界]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=169</guid>
		<description><![CDATA[Adobe官方终于发布Adobe Photoshop CS6 正式版并提供下载，此时相信大部分人都关心破解的问题。值得让人惊喜的是网上已经有Adobe Photoshop CS6 注册机，通过破解补丁可以轻松获得Adobe Photoshop CS6 破解版。 &#160; 早在前面关于Adobe Photoshop CS6 新功能体验的文章系列“全新界面与图层搜索功能”,“内容感知与视频编辑”和“更多特性及总结”，已经对Adobe Photoshop CS6 有简单的评测。相信正式版的Photoshop CS6也不会发生太大的变化，大多都是性能优化和一些细节上的修改。 个人觉得Adobe Photoshop CS6是非常不错的，新增的功能和细节上的改进，让Adobe Photoshop CS6变得更加易用和功能更加强大。如果你一直都有使用PS，笔者强烈建议你更新到这个最新版本。 Adobe Photoshop CS6 破解教程 Step 1 – 官方下载Adobe Photoshop CS6 简体中文版正式版（迅雷下载）和Adobe Photoshop CS6  破解补丁（Adobe CS6 通用）（115网盘）； Step 2 - 以试用版方式安装Adobe Photoshop CS6 ，（需要一个Adobe的ID，没有的可以去官方注册一个，据说断网无需Adobe的ID） Step 3 - 安装结束后，使用Adobe CS6 通用破解补丁amtlib.dll覆盖安装文件夹下的源文件。打开Photoshop CS6看看，完美的Adobe Photoshop CS6 简体中文破解版。Adobe Photoshop [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe官方终于发布Adobe Photoshop CS6 正式版并提供下载，此时相信大部分人都关心破解的问题。值得让人惊喜的是网上已经有Adobe Photoshop CS6 注册机，通过破解补丁可以轻松获得Adobe Photoshop CS6 破解版。</p>
<p><a href="http://www.popo.im/wp-content/uploads/auto_save_image/2012/05/1130343AX.jpg"><img title="Photoshop-CS6-img01" src="http://www.popo.im/wp-content/uploads/auto_save_image/2012/05/1130343AX.jpg" alt="Photoshop CS6 img01 " width="480" height="167" /></a></p>
<p>&nbsp;</p>
<p>早在前面关于Adobe Photoshop CS6 新功能体验的文章系列“全新界面与图层搜索功能”,“内容感知与视频编辑”和“更多特性及总结”，已经对Adobe Photoshop CS6 有简单的评测。相信正式版的Photoshop CS6也不会发生太大的变化，大多都是性能优化和一些细节上的修改。<span id="more-169"></span></p>
<p>个人觉得Adobe Photoshop CS6是非常不错的，新增的功能和细节上的改进，让Adobe Photoshop CS6变得更加易用和功能更加强大。如果你一直都有使用PS，笔者强烈建议你更新到这个最新版本。</p>
<p><strong>Adobe Photoshop CS6 破解教程</strong></p>
<p><strong>Step 1 – </strong>官方下载Adobe Photoshop CS6 简体中文版正式版（<a href="http://trials2.stage.adobe.com/AdobeProducts/PHSP/13/win32/Photoshop_13_LS3.7z" target="_blank">迅雷下载</a>）和Adobe Photoshop CS6  破解补丁（Adobe CS6 通用）（<a href="http://115.com/file/c2hs71xn#" target="_blank">115网盘</a>）；</p>
<p><strong>Step 2 -</strong> 以试用版方式安装Adobe Photoshop CS6 ，（需要一个Adobe的ID，没有的可以去官方注册一个，据说断网无需Adobe的ID）</p>
<p><a href="http://www.popo.im/wp-content/uploads/auto_save_image/2012/05/113034fou.jpg"><img title="Photoshop-CS6-img02" src="http://www.popo.im/wp-content/uploads/auto_save_image/2012/05/113034fou.jpg" alt="Photoshop CS6 img02 " width="480" height="394" /></a></p>
<p><strong>Step 3 -</strong> 安装结束后，使用Adobe CS6 通用破解补丁amtlib.dll覆盖安装文件夹下的源文件。打开Photoshop CS6看看，完美的Adobe Photoshop CS6 简体中文破解版。Adobe Photoshop CS6 的启动界面不再是猫，新的启动界面舒服多了。</p>
<p><a href="http://www.popo.im/wp-content/uploads/auto_save_image/2012/05/113035XsS.jpg"><img title="Adobe-Photoshop-CS6-img03" src="http://www.popo.im/wp-content/uploads/auto_save_image/2012/05/113035XsS.jpg" alt="Adobe Photoshop CS6 img03 " width="480" height="495" /></a></p>
<p>如果你的系统是64位，强烈建议安装Adobe Photoshop CS6 64版本，速度快不少。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/169/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhpStorm4.0正式版发布 完全兼容PHP5.4</title>
		<link>http://www.xhxu.cn/blog/archives/161</link>
		<comments>http://www.xhxu.cn/blog/archives/161#comments</comments>
		<pubDate>Thu, 03 May 2012 15:12:55 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[软件世界]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=161</guid>
		<description><![CDATA[PhpbStorm 4.0 发布了，该版本完全兼容 PHP 5.4 特性以及支持 EMCAScript Harmony 。 主要改进包括： 完全支持 PHP 5.4 语言特性 支持 ECMAScript Harmony 使用 PHPUnit 的代码覆盖率 使用 PHP Code Sniffer 进行代码检查 支持 Drupal 代码风格 新的 PHP 代码检查 更智能的 JavaScript 自动完成 更详细内容请看 what&#8217;s new, 下载地址：PhpStorm 4.0. PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具。 附送注册码一枚(3.0/4.0通用): User Name:   xhxu.cn LicenseKey: ===== LICENSE BEGIN ===== 95447-12042010 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xhxu.cn/blog/wp-content/uploads/2012/05/phpstorm.png"><img class="alignnone size-full wp-image-162" title="phpstorm" src="http://www.xhxu.cn/blog/wp-content/uploads/2012/05/phpstorm.png" alt="phpstorm" width="404" height="298" /></a></p>
<p>PhpbStorm 4.0 发布了，该版本完全兼容 PHP 5.4 特性以及支持 EMCAScript Harmony 。</p>
<p>主要改进包括：</p>
<ul>
<li>完全支持 PHP 5.4 语言特性<span id="more-161"></span></li>
<li>支持 ECMAScript Harmony</li>
<li>使用 PHPUnit 的代码覆盖率</li>
<li>使用 PHP Code Sniffer 进行代码检查</li>
<li>支持 Drupal 代码风格</li>
<li>新的 PHP 代码检查</li>
<li>更智能的 JavaScript 自动完成</li>
</ul>
<p>更详细内容请看 <a href="http://www.jetbrains.com/phpstorm/whatsnew/?rss" target="_blank">what&#8217;s new</a>,<br />
下载地址：<a href="http://www.jetbrains.com/phpstorm/download?rss" target="_blank">PhpStorm 4.0</a>.</p>
<p>PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具。</p>
<p>附送注册码一枚(3.0/4.0通用):</p>
<p>User Name:   xhxu.cn<br />
LicenseKey:<br />
===== LICENSE BEGIN =====<br />
95447-12042010<br />
00001knXX6TzTlNvYg!u31!7rOxfum<br />
MjJiaviGdqWAk2F2CKX52kt26Y4gdv<br />
Qd3t”tKchbzycA5ITprYsZ0xoVrH”D<br />
===== LICENSE END =====</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/161/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>到底谁之错?</title>
		<link>http://www.xhxu.cn/blog/archives/154</link>
		<comments>http://www.xhxu.cn/blog/archives/154#comments</comments>
		<pubDate>Fri, 20 Apr 2012 02:42:23 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[随笔]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=154</guid>
		<description><![CDATA[故事一： 背景介绍：RT是一个外包公司，ZWZX是项目承接公司，YD是甲方。 RT公司每天下班的时候都会接到ZWZX负责人的电话，询问一天的工作情况，然后布置任务要求晚上加班做完，RT公司的员工很无奈也很气愤因为每天都要加班，员工们就问项目经理：“为什么天天加班赶需求，今天才提一个需求，明天就要上线，还让不让人活了?” 项目经理无奈的说：“我有什么办法啊？这是人家ZWZX负责人说的啊，对方逼得紧。” 多次以后项目经理也忍不住了，就问ZWZX的负责人怎么天天这样啊，ZWZX的负责人就说了:”明天就要向YD的负责人展示这个页面，我也没有办法啊？YD那边老总就是这么要求的，我怎么办，我也不想这样啊？” 然后RT的项目经理实在受不了了就辞职了，新上任的项目经理又会走他的老路，因为从开始我们就被培养“满足客户的需求是最重要的”。RT的员工也就这样一直抱怨着，一直忍受着。天天在心里咒骂YD的老总真是没有人性，不拿人当人看啊！ 人换了一批又一批，加班也就慢慢的变成了应该的，你不加班说明你不敬业，不合格。 故事二： IE6一直存活着，所有的前端开发人员都痛恨它，都不想兼容它，可是产品经理看到IE6的市场占有率还是这么高，就会要求前端开发人员必须兼容IE6。 矛盾又来了，就像故事一一样，前端开发人员天天抱怨，产品经理也天天抱怨，但是面对IE6的市场份额，产品经理会劝开发人员说：“我有什么办法啊？IE6的市场份额就是这么高，不兼容怎么办啊？我也不想啊！” 开发人员也就这样忍受着，然后不断地抱怨用IE6的用户低端，没文化，怎么还用IE6啊！天天兼容IE6就够烦的了，还怎么创新啊！ 这两个故事里出现的问题到底是谁的错误引起的？ 故事一的罪魁祸首是YD的老总吗？ 故事二的罪魁祸首是那些还用着IE6的用户吗？ 从这两个嫌疑最大的罪魁祸首眼中看一下这两个故事： 故事一： 我是YD的老总，我要建立一个网站，找到了ZWZX公司，签订了合同，我提需求他们实现。 我不懂制作网站，可是我才思敏捷，创意无限，不停的会有好点子从我的脑海里蹦出来，每当有一个好点子蹦出来后，我都会给ZWZX公司的负责人讲清楚我的想法，让他实现，开始我不知道做一个页面需要多长时间。第一次我试探性的说了一周必须把我这个点子做出来，ZWZX公司负责人很痛快的答应了，一周后我果然看到了这个功能。 可是会不会我给他们的时间太长了？对！肯定是，要不也不会答应的这么痛快。这些人啊！天天就是想拖时间，好多骗我点钱。 点子又来了，这次我要求5天做出来，这个点子和上个点子类似，我倒要看看5天能不能做出来~ ZWZX公司负责人一副痛苦的表情，我会不会逼的太紧了，5天是不是真的做不出来？到时候看看吧，如果5天没做出来估计是我给的时间太少了。 5天过去了ZWZX公司的负责人很高兴的拿出了我要的功能实现，哎，看来开始真的骗了我两天。就是不知道5天会不会还是多了啊？下次给3天~ 又拿出来了，虽然他装的好像时间太紧似的，可别以为我不知道，你第一个功能最多3天就做出来了，我还给了你7天的项目经费，你们多赚了我多少啊！！！！ 真是没良心。 下次1天！！！ 啊啊啊啊啊啊啊啊!!! 1天就出来了，这些人。。。。。 有没有良心，原来做这个这么简单，以后就给1天，不 ！ 一天N个功能。 故事二： 我买了个电脑，没什么别的用途，就是打开电脑上上网，上上QQ和儿子聊聊天，QQ是儿子给我装上的，这样我就可以和他视频了。有一次QQ提醒我说我的QQ版本太低了，不能视频了，我打电话问儿子，儿子说按提示升级一下QQ就行了，呵呵，我按QQ的提示，儿子的指示一步一步的升级QQ成功了，看来电脑也不难啊！ 到这里您认为开始的两个故事的罪魁祸首是谁啊？ 我们一直以加班，甚至通宵去满足客户不合理的要求，只因为他是客户。只因为人人都认为满足客户的要求是我们最大的 价值，可是不合理的要求不能去拒绝吗？套用刘欢说的一句话“我们是不是活的应该有些尊严”，一味的迎合客户，只会让我们自己越来越痛苦，反而得不到用户的尊重，肯定。 我一直有个疑惑，很多人说网站不支持IE6，而选择让用户去升级IE，这样的用户体验不好！如果按照按照这个逻辑，是不是我们都应该是Web应用，而且都应该是IE6下的Web应用呢？为什么微软还要出WIN8，一直XP不是挺好的吗？让用户升级系统，用户体验多么不好啊？QQ，360，搜狗输入法，等等客户端软件用户体验不都不好吗？ 都还要用户下载。 实在搞不懂为什么我们做个东西非要去支持IE6呢？检测到用户是IE6，给个提示，给个升级链接不就行了？ 这样做用户体验是有多么不好吗？ 你天天去支持IE6，还要天天磨叽用户使用IE6，你不觉的很矛盾吗？再说我一个普通用户，你如果不提醒，我怎么知道要升级IE6啊？ 对于遭遇了故事一，故事二的人只能送上一句话“哀其不幸，怒其不争！” &#160; 原文链接：http://hfcc8685.github.com/blog/2012/04/19/shui-zhi-cuo/]]></description>
			<content:encoded><![CDATA[<h3>故事一：</h3>
<p>背景介绍：RT是一个外包公司，ZWZX是项目承接公司，YD是甲方。</p>
<p>RT公司每天下班的时候都会接到ZWZX负责人的电话，询问一天的工作情况，然后布置任务要求晚上加班做完，RT公司的员工很无奈也很气愤因为每天都要加班，员工们就问项目经理：“为什么天天加班赶需求，今天才提一个需求，明天就要上线，还让不让人活了?” 项目经理无奈的说：“我有什么办法啊？这是人家ZWZX负责人说的啊，对方逼得紧。”</p>
<p>多次以后项目经理也忍不住了，就问ZWZX的负责人怎么天天这样啊，ZWZX的负责人就说了:”明天就要向YD的负责人展示这个页面，我也没有办法啊？YD那边老总就是这么要求的，我怎么办，我也不想这样啊？”</p>
<p>然后RT的项目经理实在受不了了就辞职了，新上任的项目经理又会走他的老路，因为从开始我们就被培养“满足客户的需求是最重要的”。RT的员工也就这样一直抱怨着，一直忍受着。天天在心里咒骂YD的老总真是没有人性，不拿人当人看啊！</p>
<p>人换了一批又一批，加班也就慢慢的变成了应该的，你不加班说明你不敬业，不合格。<span id="more-154"></span></p>
<h3>故事二：</h3>
<p>IE6一直存活着，所有的前端开发人员都痛恨它，都不想兼容它，可是产品经理看到IE6的市场占有率还是这么高，就会要求前端开发人员必须兼容IE6。</p>
<p>矛盾又来了，就像故事一一样，前端开发人员天天抱怨，产品经理也天天抱怨，但是面对IE6的市场份额，产品经理会劝开发人员说：“我有什么办法啊？IE6的市场份额就是这么高，不兼容怎么办啊？我也不想啊！” 开发人员也就这样忍受着，然后不断地抱怨用IE6的用户低端，没文化，怎么还用IE6啊！天天兼容IE6就够烦的了，还怎么创新啊！</p>
<h4>这两个故事里出现的问题到底是谁的错误引起的？</h4>
<p>故事一的罪魁祸首是YD的老总吗？</p>
<p>故事二的罪魁祸首是那些还用着IE6的用户吗？</p>
<h2>从这两个嫌疑最大的罪魁祸首眼中看一下这两个故事：</h2>
<h3>故事一：</h3>
<p>我是YD的老总，我要建立一个网站，找到了ZWZX公司，签订了合同，我提需求他们实现。</p>
<p>我不懂制作网站，可是我才思敏捷，创意无限，不停的会有好点子从我的脑海里蹦出来，每当有一个好点子蹦出来后，我都会给ZWZX公司的负责人讲清楚我的想法，让他实现，开始我不知道做一个页面需要多长时间。第一次我试探性的说了一周必须把我这个点子做出来，ZWZX公司负责人很痛快的答应了，一周后我果然看到了这个功能。</p>
<p>可是会不会我给他们的时间太长了？对！肯定是，要不也不会答应的这么痛快。这些人啊！天天就是想拖时间，好多骗我点钱。</p>
<p>点子又来了，这次我要求5天做出来，这个点子和上个点子类似，我倒要看看5天能不能做出来~ ZWZX公司负责人一副痛苦的表情，我会不会逼的太紧了，5天是不是真的做不出来？到时候看看吧，如果5天没做出来估计是我给的时间太少了。</p>
<p>5天过去了ZWZX公司的负责人很高兴的拿出了我要的功能实现，哎，看来开始真的骗了我两天。就是不知道5天会不会还是多了啊？下次给3天~</p>
<p>又拿出来了，虽然他装的好像时间太紧似的，可别以为我不知道，你第一个功能最多3天就做出来了，我还给了你7天的项目经费，你们多赚了我多少啊！！！！ 真是没良心。 下次1天！！！</p>
<p>啊啊啊啊啊啊啊啊!!! 1天就出来了，这些人。。。。。 有没有良心，原来做这个这么简单，以后就给1天，不 ！ 一天N个功能。</p>
<h3>故事二：</h3>
<p>我买了个电脑，没什么别的用途，就是打开电脑上上网，上上QQ和儿子聊聊天，QQ是儿子给我装上的，这样我就可以和他视频了。有一次QQ提醒我说我的QQ版本太低了，不能视频了，我打电话问儿子，儿子说按提示升级一下QQ就行了，呵呵，我按QQ的提示，儿子的指示一步一步的升级QQ成功了，看来电脑也不难啊！</p>
<h2>到这里您认为开始的两个故事的罪魁祸首是谁啊？</h2>
<p>我们一直以加班，甚至通宵去满足客户不合理的要求，只因为他是客户。只因为人人都认为满足客户的要求是我们最大的 价值，可是不合理的要求不能去拒绝吗？套用刘欢说的一句话“我们是不是活的应该有些尊严”，一味的迎合客户，只会让我们自己越来越痛苦，反而得不到用户的尊重，肯定。</p>
<p>我一直有个疑惑，很多人说网站不支持IE6，而选择让用户去升级IE，这样的用户体验不好！如果按照按照这个逻辑，是不是我们都应该是Web应用，而且都应该是IE6下的Web应用呢？为什么微软还要出WIN8，一直XP不是挺好的吗？让用户升级系统，用户体验多么不好啊？QQ，360，搜狗输入法，等等客户端软件用户体验不都不好吗？ 都还要用户下载。</p>
<p>实在搞不懂为什么我们做个东西非要去支持IE6呢？检测到用户是IE6，给个提示，给个升级链接不就行了？ 这样做用户体验是有多么不好吗？ 你天天去支持IE6，还要天天磨叽用户使用IE6，你不觉的很矛盾吗？再说我一个普通用户，你如果不提醒，我怎么知道要升级IE6啊？</p>
<h2><span style="color: #ff6600;">对于遭遇了故事一，故事二的人只能送上一句话“哀其不幸，怒其不争！”</span></h2>
<p>&nbsp;</p>
<p>原文链接：http://hfcc8685.github.com/blog/2012/04/19/shui-zhi-cuo/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/154/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux系统时间修改及同步</title>
		<link>http://www.xhxu.cn/blog/archives/147</link>
		<comments>http://www.xhxu.cn/blog/archives/147#comments</comments>
		<pubDate>Mon, 09 Apr 2012 07:30:51 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=147</guid>
		<description><![CDATA[同步中国时间: ntpdate 210.72.145.44 写入系统时间到COMS: clock &#8211;systohc 时间修改 date 月日时分年.秒 date -s可以直接设置系统时间 比如将系统时间设定成1996年6月10日的命令如下。 #date -s 06/10/96 将系统时间设定成下午1点12分0秒的命令如下。 #date -s 13:12:00 时间同步 1.首先需了解linux内一任务计划工具crontab crontab可以定时去执行你要做的动作 直接用crontab命令编辑 crontab -u //设定某个用户的cron服务，一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务 crontab -e //编辑某个用户的cron服务 一般使用crontab -e来编辑一个计划动作，编辑模式同vi编辑器相同 crontab内的基本编辑格式如下 *　　*　　*　　*　　*　　command 分　 时　 日　 月　周　  命令 第1列表示分钟1～59 每分钟用*或者 */1表示 第2列表示小时1～23（0表示0点） 第3列表示日期1～31 第4列表示月份1～12 第5列标识号星期0～6（0表示星期天） 第6列要运行的命令 crontab文件的一些例子： 30 21 * * [...]]]></description>
			<content:encoded><![CDATA[<p>同步中国时间: ntpdate 210.72.145.44</p>
<p>写入系统时间到COMS: clock &#8211;systohc</p>
<p>时间修改<br />
date 月日时分年.秒<br />
date -s可以直接设置系统时间</p>
<p>比如将系统时间设定成1996年6月10日的命令如下。<br />
#date -s 06/10/96<br />
将系统时间设定成下午1点12分0秒的命令如下。<br />
#date -s 13:12:00<span id="more-147"></span><br />
时间同步<br />
1.首先需了解linux内一任务计划工具crontab<br />
crontab可以定时去执行你要做的动作<br />
直接用crontab命令编辑<br />
crontab -u //设定某个用户的cron服务，一般root用户在执行这个命令的时候需要此参数<br />
crontab -l //列出某个用户cron服务的详细内容<br />
crontab -r //删除某个用户的cron服务<br />
crontab -e //编辑某个用户的cron服务<br />
一般使用crontab -e来编辑一个计划动作，编辑模式同vi编辑器相同<br />
crontab内的基本编辑格式如下<br />
*　　*　　*　　*　　*　　command<br />
分　 时　 日　 月　周　  命令<br />
第1列表示分钟1～59 每分钟用*或者 */1表示<br />
第2列表示小时1～23（0表示0点）<br />
第3列表示日期1～31<br />
第4列表示月份1～12<br />
第5列标识号星期0～6（0表示星期天）<br />
第6列要运行的命令<br />
crontab文件的一些例子：<br />
30 21 * * * /etc/init.d/smb restart<br />
上面的例子表示每晚的21:30重启smb 。<br />
45 4 1,10,22 * * /etc/init.d/smb restart<br />
上面的例子表示每月1、10、22日的4 : 45重启smb 。<br />
10 1 * * 6,0 /etc/init.d/smb restart<br />
上面的例子表示每周六、周日的1 : 10重启smb 。<br />
0,30 18-23 * * * /etc/init.d/smb restart<br />
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启smb 。<br />
0 23 * * 6 /etc/init.d/smb restart<br />
上面的例子表示每星期六的11 : 00 pm重启smb 。<br />
* */1 * * * /etc/init.d/smb restart<br />
每一小时重启smb<br />
* 23-7/1 * * * /etc/init.d/smb restart<br />
晚上11点到早上7点之间，每隔一小时重启smb<br />
0 11 4 * mon-wed /etc/init.d/smb restart<br />
每月的4号与每周一到周三的11点重启smb<br />
0 4 1 jan * /etc/init.d/smb restart<br />
一月一号的4点重启smb<br />
2.寻找一个网络时间服务器，比如一些国家授时中心<br />
微软公司授时主机(美国)<br />
time.windows.com<br />
台警大授时中心(台湾)<br />
asia.pool.ntp.org<br />
中科院授时中心(西安)<br />
210.72.145.44<br />
网通授时中心(北京)<br />
219.158.14.130<br />
3.我们的电脑怎样去同步授时中心的时间<br />
ntpdate asia.pool.ntp.org<br />
上面此命令就是去同步授时中心的时间<br />
如果要让系统每天23：00去同步，这样可以使用上面所将的crontab设置计划同步<br />
如下命令<br />
#crontab -e<br />
进入crontab编辑模式，使用方法同vi<br />
输入 0 23 * * * ntpdate asia.pool.ntp.org &gt;&gt; /var/log/ntpdate.log<br />
保存退出<br />
这样就完成了你的系统到每天23：00去asia.pool.ntp.org 同步时间，并将同步的日志放到<br />
/var/log/ntpdate.log</p>
<p>下面补充一下系统时间的设置<br />
date -s可以直接设置系统时间<br />
比如将系统时间设定成1996年6月10日的命令如下。<br />
#date -s 06/10/96<br />
将系统时间设定成下午1点12分0秒的命令如下。<br />
#date -s 13:12:00<br />
注意，这里说的是系统时间，是linux由操作系统维护的。<br />
在系统启动时，Linux操作系统将时间从CMOS中读到系统时间变量中，以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性，Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间（大约是11分钟）进行的，在我们执行date -s后，如果马上重起机器，修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。<br />
#clock -w<br />
这个命令强制把系统时间写入CMOS</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/147/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>16个Linux服务器监控命令</title>
		<link>http://www.xhxu.cn/blog/archives/136</link>
		<comments>http://www.xhxu.cn/blog/archives/136#comments</comments>
		<pubDate>Thu, 22 Mar 2012 12:23:47 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=136</guid>
		<description><![CDATA[如果你想知道你的服务器正在做干什么，你就需要了解一些基本的命令，一旦你精通了这些命令，那你就是一个 专业的 Linux 系统管理员。 有些 Linux 发行版会提供 GUI 程序来进行系统的监控，例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST，KDE 的 KDE System Guard 同样很出色。当然，要使用这些工具，你必须在服务器跟前进行操作，而且这些 GUI 的程序占用了很多系统资源，所以说，尽管 GUI 用来做基本的服务器健康状态监测挺好，但如果你想知道真正发生什么，请关掉 GUI 开始命令行之旅吧。 你应该只在需要的时候去启动 GUI ，不用的时候关掉它。如果要让服务器保持最佳性能，你应该将 Linux 服务器的运行级别 runlevel 设置为 3 ，就是控制台模式，当你需要图形化桌面的时候使用 startx 命令来启动它。 如果你的服务器启动后就直接进入图形界面，你需要修改配置 /etc/inittab 找到 initdefault 一样，将 id:5:initdefault 修改为 id:3:initdefault。 如果你没找到 /etc/inittab 文件，那就创建一个新的，文件内容增加 id:3 这么一行。这样下次服务器启动的时候就不会进入图形界面。如果你不想等到服务器重启的时候才生效，你可以执行 init 3 这个命令。 一旦你的服务器是在控制台模式下运行，你就可以开始我们接下来的内容。 iostat iostat 命令用来显示存储子系统的详细信息，通常用它来监控磁盘 I/O [...]]]></description>
			<content:encoded><![CDATA[<p>如果你想知道你的服务器正在做干什么，你就需要了解一些基本的命令，一旦你精通了这些命令，那你就是一个 专业的 Linux 系统管理员。</p>
<p>有些 Linux 发行版会提供 GUI 程序来进行系统的监控，例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST，KDE 的 KDE System Guard 同样很出色。当然，要使用这些工具，你必须在服务器跟前进行操作，而且这些 GUI 的程序占用了很多系统资源，所以说，尽管 GUI 用来做基本的服务器健康状态监测挺好，但如果你想知道真正发生什么，请关掉 GUI 开始命令行之旅吧。</p>
<p>你应该只在需要的时候去启动 GUI ，不用的时候关掉它。如果要让服务器保持最佳性能，你应该将 Linux 服务器的运行级别 runlevel 设置为 3 ，就是控制台模式，当你需要图形化桌面的时候使用 startx 命令来启动它。</p>
<p>如果你的服务器启动后就直接进入图形界面，你需要修改配置 /etc/inittab 找到 initdefault 一样，将 id:5:initdefault 修改为 id:3:initdefault。</p>
<p>如果你没找到 /etc/inittab 文件，那就创建一个新的，文件内容增加 id:3 这么一行。这样下次服务器启动的时候就不会进入图形界面。如果你不想等到服务器重启的时候才生效，你可以执行 init 3 这个命令。</p>
<p>一旦你的服务器是在控制台模式下运行，你就可以开始我们接下来的内容。<span id="more-136"></span></p>
<h3>iostat</h3>
<p><a href="http://www.cyberciti.biz/tips/linux-disk-performance-monitoring-howto.html" rel="nofollow" target="_blank">iostat</a> 命令用来显示存储子系统的详细信息，通常用它来监控磁盘 I/O 的情况。要特别注意 iostat 统计结果中的 %iowait 值，太大了表明你的系统存储子系统性能低下。</p>
<h3>meminfo 和 free</h3>
<p><a href="http://www.redhat.com/advice/tips/meminfo.html" rel="nofollow" target="_blank">Meminfo</a> 可让你获取内存的详细信息，你可以使用 cat 和 grep 命令来显示 meminfo 信息：</p>
<div id="highlighter_842003">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>cat</code> <code>/proc/meminfo</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>&nbsp;</p>
<p>另外你可以使用 free 命令来显示动态的内存使用信息，free 只是给你大概的内存信息，而 meminfo 提供的信息更加详细。例如在 oschina 上的 free 命令执行结果：</p>
<p><a href="http://static.oschina.net/uploads/space/2012/0314/224419_IBif_12.jpg" target="_blank"><img src="http://static.oschina.net/uploads/space/2012/0314/224419_IBif_12.jpg" alt="" /></a></p>
<h3>mpstat</h3>
<p><a href="http://linuxcommand.org/man_pages/mpstat1.html" rel="nofollow" target="_blank">mpstat</a> mpstat是MultiProcessor Statistics的缩写，是实时系统监控工具。其报告与CPU的一些统计信息，这些信息存放在/proc/stat文件中。在多CPUs系统里，其不但能查看所有CPU的平均状况信息，而且能够查看特定CPU的信息。</p>
<p>再来看看 oschina 上的 mpstat 命令执行结果：</p>
<p><a href="http://static.oschina.net/uploads/space/2012/0314/224655_bDoA_12.jpg" target="_blank"><img src="http://static.oschina.net/uploads/space/2012/0314/224655_bDoA_12.jpg" alt="" /></a></p>
<p>关于 mpstat 执行结果中的参数意思请参考<a href="http://www.oschina.net/question/54100_44525" rel="nofollow" target="_blank">此贴</a>。</p>
<h3>netstat</h3>
<p><a href="http://www.thegeekstuff.com/2010/03/netstat-command-examples/" rel="nofollow" target="_blank">Netstat</a> 和 ps 命令类似，是 Linux 管理员基本上每天都会用的工具，它显示了大量跟网络相关的信息，例如 socket 的使用、路由、接口、协议、网络等等，下面是一些常用的参数：</p>
<div id="highlighter_341443">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>-a Show all socket information</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>2</code></td>
<td><code>-r Show routing information</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>3</code></td>
<td><code>-i Show network interface statistics</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>4</code></td>
<td><code>-s Show network protocol statistics</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>&nbsp;</p>
<h3>nmon</h3>
<p><a href="http://www.oschina.net/p/nmon" rel="nofollow" target="_blank">Nmon</a>, 是 Nigel&#8217;s Monitor 的缩写，是一个使用很普遍的开源工具，用以监控 Linux 系统的性能。Nmon 监控多个子系统的性能数据，例如处理器的使用率、内存使用率、队列、磁盘I/O统计、网络I/O统计、内存页处理和进程信息。Nmon 也提供了一个图形化的工具：</p>
<p><a href="http://static.oschina.net/uploads/img/201203/14234253_d5gE.jpg" target="_blank"><img title="sjvn_LinuxServerMonitoring_nmon.png" src="http://static.oschina.net/uploads/img/201203/14234253_d5gE.jpg" alt="sjvn_LinuxServerMonitoring_nmon.png" align="middle" /></a></p>
<p>要运行 nmon，你可以在命令行中启动它，然后选择要监控的子系统，这些子系统都对应有一个快捷键，例如输入 c 可查看 CPU 信息，m用于查看内存，d用来查看磁盘信息等，你也可以使用 -f 命令将 nmon 的执行结果保存到一个 CSV 文件中，便于日后分析。</p>
<p>在每日的监控工作中，我发现 nmon 是我最常用的工具。</p>
<h3>pmap</h3>
<p><a href="http://linuxcommand.org/man_pages/mpstat1.html" rel="nofollow" target="_blank">pmap</a> 命令用来报告每个进程占用内存的详细情况，可用来看是否有进程超支了，该命令需要进程 id 作为参数。</p>
<h3>ps 和 pstree</h3>
<p><a href="http://www.linux.ie/newusers/beginners-linux-guide/ps.php" rel="nofollow" target="_blank">ps</a> 和 <a href="http://www.linfo.org/pstree.html" rel="nofollow" target="_blank">pstree</a> 命令是 Linux 系统管理员最好的朋友，都可以用来列表正在运行的所有进程。ps 告诉你每个进程占用的内存和 CPU 处理时间，而 pstree 显示的信息没那么详细，但它以树形结构显示进程之间的依赖关系，包括子进程信息。一旦发现某个进程有问题，你可以使用 <a href="http://linux.about.com/library/cmd/blcmdl_kill.htm" rel="nofollow" target="_blank">kill</a> 来杀掉它。</p>
<h3>sar</h3>
<p><a href="http://www.thegeekstuff.com/2011/03/sar-exampl" rel="nofollow" target="_blank">sar</a> 程序是系统监控工具里的瑞士军刀。该程序包含三个工具：sar 用来显示数据，sa1 和 sa2 用来收集数据并保存。sar 可用来显示 CPU 使用率、内存页数据、网络 I/O 和传输统计、进程创建活动和磁盘设备的活动详情。sar 和 nmon 最大的不同就是 sar 跟适合用作长期的监控，而 nmon 可以让你快速的了解系统当前状态。</p>
<h3>strace</h3>
<p><a href="http://www.hokstad.com/5-simple-ways-to-troubleshoot-using-strace.html" rel="nofollow" target="_blank">strace</a> 经常被认为是程序员调试的工具，但不止如此。它可以记录进程进行系统调用的详情，因此它也是一个非常好的诊断工具，例如你可以使用它来找出某个程序正在打开某个配置文件。</p>
<p>Strace 也有一个缺陷，但它在跟踪某个进程时会让该进程的性能变得非常差，因此请谨慎使用。</p>
<h3>tcpdump</h3>
<p><a href="http://danielmiessler.com/study/tcpdump/" rel="nofollow" target="_blank">Tcpdump</a> 是一个简单、可靠的网络监控工具，用来做基本的协议分析，看看那些进程在使用网络以及如何使用网络。当然，如果你要获取跟详细的信息，你应该使用 <a href="http://www.oschina.net/p/wireshark" rel="nofollow" target="_blank">Wireshark</a> (下面我们会介绍).</p>
<h3>top</h3>
<p><a href="http://adminlinux.blogspot.com/2009/06/how-do-i-use-linux-top-command.html" rel="nofollow" target="_blank">top</a> 命令显示当前的活动进程，默认它是按消耗 CPU 的厉害程度进行排序，每5秒钟刷新一次列表，你也可以选择不同的排序方式，例如 m 是按内存占用方式进行排序的快捷键。</p>
<h3>uptime</h3>
<p><a href="http://www.computerhope.com/unix/uptime.htm" rel="nofollow" target="_blank">uptime</a> 命令告诉你这台服务器从开机启动到现在已经运行了多长时间了。同时也包含了从启动到现在服务器的平均负载情况，看看 oschina 的数据：</p>
<p><a href="http://static.oschina.net/uploads/space/2012/0314/230952_ZIZB_12.jpg" target="_blank"><img src="http://static.oschina.net/uploads/space/2012/0314/230952_ZIZB_12.jpg" alt="" /></a></p>
<p>我已经忘了上次是为什么重启机器了，好像是换了个机柜。</p>
<h3>vmstat</h3>
<p>你可以使用 <a href="http://www.linuxjournal.com/article/8178" rel="nofollow" target="_blank">vmstat</a> 来监控虚拟内存，一般 Linux 上的开发者喜欢使用虚拟内存来获得最佳的存储性能。该命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息（所有的处理器中）都计算出以百分比表示的平均值，或者计算其总和。</p>
<p>在 oschina 上执行 vmstat 的结果：</p>
<p><a href="http://static.oschina.net/uploads/space/2012/0314/231215_L40R_12.jpg" target="_blank"><img src="http://static.oschina.net/uploads/space/2012/0314/231215_L40R_12.jpg" alt="" /></a></p>
<h3>Wireshark</h3>
<p><a href="http://www.wireshark.org/" rel="nofollow" target="_blank">Wireshark</a>, 前身是 Ethereal ，是一个网络协议检测程序，让您经由程序抓取运行的网站的相关资讯，包括每一封包流向及其内容、资讯可依操作系统语系看出,方便查看、监控TCP session动态等等.</p>
<p><a href="http://www.oschina.net/uploads/img/200812/11114517_E3HZ.png" target="_blank"><img src="http://www.oschina.net/uploads/img/200812/11114517_E3HZ.png" alt="" /></a></p>
<p>&nbsp;</p>
<p>这里罗列的是大多数最有价值的 Linux 监控程序，当然，你可能还会使用其他的工具，不妨跟大家分享下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/136/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS 10.7.3正式版 高速下载</title>
		<link>http://www.xhxu.cn/blog/archives/132</link>
		<comments>http://www.xhxu.cn/blog/archives/132#comments</comments>
		<pubDate>Fri, 16 Mar 2012 08:23:23 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[MAC]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=132</guid>
		<description><![CDATA[Mac OS 10.7.3正式版 高速下载 附送一本MAC OS 入门书: 我的第一本苹果书.pdf 下载地址: http://kuai.xunlei.com/d/UOONTJVAPQNH]]></description>
			<content:encoded><![CDATA[<p>Mac OS 10.7.3正式版 高速下载</p>
<p>附送一本MAC OS 入门书: 我的第一本苹果书.pdf</p>
<p>下载地址:</p>
<p>http://kuai.xunlei.com/d/UOONTJVAPQNH</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/132/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snoopy PHP 网页抓取类</title>
		<link>http://www.xhxu.cn/blog/archives/125</link>
		<comments>http://www.xhxu.cn/blog/archives/125#comments</comments>
		<pubDate>Tue, 13 Mar 2012 09:03:33 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=125</guid>
		<description><![CDATA[snoopy是一个php类，用来模仿web浏览器的功能，它能完成获取网页内容和发送表单的任务。 下面是它的一些特征： 1、方便抓取网页的内容 2、方便抓取网页的文字（去掉HTML代码） 3、方便抓取网页的链接 4、支持代理主机 5、支持基本的用户/密码认证模式 6、支持自定义用户agent,referer,cookies和header内容 7、支持浏览器转向，并能控制转向深度 8、能把网页中的链接扩展成高质量的url（默认） 9、方便提交数据并且获取返回值 10、支持跟踪HTML框架（v0.92增加） 11、支持再转向的时候传递cookies 12、支持sock 类属性: (缺省值在括号里) $host 连接的主机 $port 连接的端口 $proxy_host 使用的代理主机，如果有的话 $proxy_port 使用的代理主机端口，如果有的话 $agent 用户代理伪装 (Snoopy v0.1) $referer 来路信息，如果有的话 $cookies cookies， 如果有的话 $rawheaders 其他的头信息, 如果有的话 $maxredirs 最大重定向次数， 0=不允许 (5) $offsiteok whether or not to allow redirects off-site. (true) $expandlinks          是否将链接都补全为完整地址 (true) $user 认证用户名, 如果有的话 [...]]]></description>
			<content:encoded><![CDATA[<p>snoopy是一个php类，用来模仿web浏览器的功能，它能完成获取网页内容和发送表单的任务。<br />
下面是它的一些特征：<br />
1、方便抓取网页的内容<br />
2、方便抓取网页的文字（去掉HTML代码）<br />
3、方便抓取网页的链接<br />
4、支持代理主机<br />
5、支持基本的用户/密码认证模式<br />
6、支持自定义用户agent,referer,cookies和header内容<br />
7、支持浏览器转向，并能控制转向深度<br />
8、能把网页中的链接扩展成高质量的url（默认）<br />
9、方便提交数据并且获取返回值<br />
10、支持跟踪HTML框架（v0.92增加）<br />
11、支持再转向的时候传递cookies<span id="more-125"></span><br />
12、支持sock<br />
类属性: (缺省值在括号里)<br />
$host 连接的主机<br />
$port 连接的端口<br />
$proxy_host 使用的代理主机，如果有的话<br />
$proxy_port 使用的代理主机端口，如果有的话<br />
$agent 用户代理伪装 (Snoopy v0.1)<br />
$referer 来路信息，如果有的话<br />
$cookies cookies， 如果有的话<br />
$rawheaders 其他的头信息, 如果有的话<br />
$maxredirs 最大重定向次数， 0=不允许 (5)<br />
$offsiteok whether or not to allow redirects off-site. (true)<br />
$expandlinks          是否将链接都补全为完整地址 (true)<br />
$user 认证用户名, 如果有的话<br />
$pass 认证用户名, 如果有的话<br />
$accept http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)<br />
$error 哪里报错, 如果有的话<br />
$response_code 从服务器返回的响应代码<br />
$headers 从服务器返回的头信息<br />
$maxlength 最长返回数据长度<br />
$read_timeout 读取操作超时 (requires PHP 4 Beta 4+)<br />
设置为0为没有超时<br />
$timed_out 如果一次读取操作超时了，本属性返回 true (requires PHP 4 Beta 4+)<br />
$maxframes 允许追踪的框架最大数量<br />
$status 抓取的http的状态<br />
$temp_dir 网页服务器能够写入的临时文件目录 (/tmp)<br />
$curl_path cURL binary 的目录, 如果没有cURL binary就设置为 false<br />
类方法:<br />
fetch($URI)<br />
&#8212;&#8212;&#8212;&#8211;<br />
这是为了抓取网页的内容而使用的方法。<br />
$URI参数是被抓取网页的URL地址。<br />
抓取的结果被存储在 $this-&gt;results 中。<br />
如果你正在抓取的是一个框架，Snoopy将会将每个框架追踪后存入数组中，然后存入 $this-&gt;results。</p>
<p>fetchtext($URI)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;<br />
本方法类似于fetch()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中的文字内容。</p>
<p>fetchform($URI)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;<br />
本方法类似于fetch()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中表单内容(form)。</p>
<p>fetchlinks($URI)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
本方法类似于fetch()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中链接(link)。<br />
默认情况下，相对链接将自动补全，转换成完整的URL。</p>
<p>submit($URI,$formvars)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
本方法向$URL指定的链接地址发送确认表单。$formvars是一个存储表单参数的数组。</p>
<p>submittext($URI,$formvars)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
本方法类似于submit()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回登陆后网页中的文字内容。</p>
<p>submitlinks($URI)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
本方法类似于submit()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中链接(link)。<br />
默认情况下，相对链接将自动补全，转换成完整的URL。</p>
<p>例子:<br />
&lt;?php</p>
<p>include “Snoopy.class.php”;<br />
$url = “http://hi.baidu.com/xhxu”;//抓取网页<br />
$snoopy = new Snoopy;<br />
$snoopy-&gt;fetchtext($url);//抓取内容（去掉html代码）<br />
#$snoopy-&gt;fetchlinks($url);//抓取链接<br />
#$snoopy-&gt;fetchform($url); //获取表单<br />
print_r($snoopy-&gt;results);打出结果</p>
<p>/******************************表单提交****************************/<br />
$submit_url = “http://www.baidu.com/index.php”;//提交页面<br />
$formvars["wd"] = “QQ:1019822077&#8243;;//搜索的词<br />
$snoopy-&gt;submit($submit_url,$formvars);<br />
print_r($snoopy-&gt;results);//获取表单提交后的 返回的结果<br />
# $snoopy-&gt;submittext; //提交后只返回 去除html的 文本<br />
# $snoopy-&gt;submitlinks;//提交后只返回 链接</p>
<p>/******************************来伪装ip,伪装浏览器****************************/<br />
$formvars["username"] = “admin”;<br />
$formvars["pwd"] = “admin”;<br />
$action = “http://www.taoav.com”; //提交页面<br />
$snoopy-&gt;cookies["PHPSESSID"] = &#8216;fc106b1918bd522cc863f36890e6fff7&#8242;; //伪装sessionid<br />
$snoopy-&gt;agent = “(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)”; //伪装浏览器<br />
$snoopy-&gt;referer = http://www.php100.com; //伪装来源页地址 http_referer<br />
$snoopy-&gt;rawheaders["Pragma"] = “no-cache”; //cache 的http头信息<br />
$snoopy-&gt;rawheaders["X_FORWARDED_FOR"] = “127.0.0.101&#8243;; //伪装ip<br />
$snoopy-&gt;submit($action,$formvars);<br />
echo $snoopy-&gt;results;</p>
<p>原来我们可以伪装session 伪装浏览器 ，伪装ip， haha 可以做很多事情了。<br />
例如 带验证码，验证ip 投票， 可以不停的投。<br />
ps:这里伪装ip ，其实是伪装http头, 所以一般的通过 REMOTE_ADDR 获取的ip是伪装不了，<br />
反而那些通过http头来获取ip的(可以防止代理的那种) 就可以自己来制造ip。<br />
关于如何验证码 ，简单说下：<br />
首先用普通的浏览器， 查看页面 ， 找到验证码所对应的sessionid，<br />
同时记下sessionid和验证码值，<br />
接下来就用snoopy去伪造 。<br />
原理:由于是同一个sessionid 所以取得的验证码和第一次输入的是一样的。<br />
有时我们可能需要伪造更多的东西,snoopy完全为我们想到了</p>
<p>$snoopy-&gt;proxy_host = “www.php100.com”;<br />
$snoopy-&gt;proxy_port = “8080&#8243;; //使用代理<br />
$snoopy-&gt;maxredirs = 2; //重定向次数<br />
$snoopy-&gt;expandlinks = true; //是否补全链接 在采集的时候经常用到<br />
// 例如链接为 /images/taoav.gif 可改为它的全链接 http://www.taoav.com/images/taoav.gif<br />
$snoopy-&gt;maxframes = 5 //允许的最大框架数<br />
//注意抓取框架的时候 $snoopy-&gt;results 返回的是一个数组<br />
$snoopy-&gt;error //返回报错信息</p>
<p>例子: 抓取一个页面并显示他的头信息和页面内容 (去掉HTML标签的页面):</p>
<p>include “Snoopy.class.php”;<br />
$snoopy = new Snoopy;</p>
<p>$snoopy-&gt;user = “joe”;<br />
$snoopy-&gt;pass = “bloe”;</p>
<p>if($snoopy-&gt;fetch(“http://www.slashdot.org/”))<br />
{<br />
echo “response code: “.$snoopy-&gt;response_code.”&lt;br&gt;\n”;<br />
while(list($key,$val) = each($snoopy-&gt;headers))<br />
echo $key.”: “.$val.”&lt;br&gt;\n”;<br />
echo “&lt;p&gt;\n”;</p>
<p>echo “&lt;PRE&gt;”.htmlspecialchars($snoopy-&gt;results).”&lt;/PRE&gt;\n”;<br />
}<br />
else<br />
echo “error fetching document: “.$snoopy-&gt;error.”\n”;</p>
<p>例子: 提交一个表单并且打印出头信息和去掉HTML标签的页面:</p>
<p>include “Snoopy.class.php”;<br />
$snoopy = new Snoopy;</p>
<p>$submit_url = “http://lnk.ispi.net/texis/scripts/msearch/netsearch.html”;</p>
<p>$submit_vars["q"] = “amiga”;<br />
$submit_vars["submit"] = “Search!”;<br />
$submit_vars["searchhost"] = “Altavista”;</p>
<p>if($snoopy-&gt;submit($submit_url,$submit_vars))<br />
{<br />
while(list($key,$val) = each($snoopy-&gt;headers))<br />
echo $key.”: “.$val.”&lt;br&gt;\n”;<br />
echo “&lt;p&gt;\n”;</p>
<p>echo “&lt;PRE&gt;”.htmlspecialchars($snoopy-&gt;results).”&lt;/PRE&gt;\n”;<br />
}<br />
else<br />
echo “error fetching document: “.$snoopy-&gt;error.”\n”;</p>
<p>例子: 展示所有属性的功能:</p>
<p>include “Snoopy.class.php”;<br />
$snoopy = new Snoopy;</p>
<p>$snoopy-&gt;proxy_host = “my.proxy.host”;<br />
$snoopy-&gt;proxy_port = “8080&#8243;;</p>
<p>$snoopy-&gt;agent = “(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)”;<br />
$snoopy-&gt;referer = “http://www.microsnot.com/”;</p>
<p>$snoopy-&gt;cookies["SessionID"] = 238472834723489l;<br />
$snoopy-&gt;cookies["favoriteColor"] = “RED”;</p>
<p>$snoopy-&gt;rawheaders["Pragma"] = “no-cache”;</p>
<p>$snoopy-&gt;maxredirs = 2;<br />
$snoopy-&gt;offsiteok = false;<br />
$snoopy-&gt;expandlinks = false;</p>
<p>$snoopy-&gt;user = “joe”;<br />
$snoopy-&gt;pass = “bloe”;</p>
<p>if($snoopy-&gt;fetchtext(“http://www.phpbuilder.com”))<br />
{<br />
while(list($key,$val) = each($snoopy-&gt;headers))<br />
echo $key.”: “.$val.”&lt;br&gt;\n”;<br />
echo “&lt;p&gt;\n”;</p>
<p>echo “&lt;PRE&gt;”.htmlspecialchars($snoopy-&gt;results).”&lt;/PRE&gt;\n”;<br />
}<br />
else<br />
echo “error fetching document: “.$snoopy-&gt;error.”\n”;</p>
<p>例子: 抓取框架内容并展示结果：</p>
<p>include “Snoopy.class.php”;<br />
$snoopy = new Snoopy;</p>
<p>$snoopy-&gt;maxframes = 5;</p>
<p>if($snoopy-&gt;fetch(“http://www.ispi.net/”))<br />
{<br />
echo “&lt;PRE&gt;”.htmlspecialchars($snoopy-&gt;results[0]).”&lt;/PRE&gt;\n”;<br />
echo “&lt;PRE&gt;”.htmlspecialchars($snoopy-&gt;results[1]).”&lt;/PRE&gt;\n”;<br />
echo “&lt;PRE&gt;”.htmlspecialchars($snoopy-&gt;results[2]).”&lt;/PRE&gt;\n”;<br />
}else{<br />
echo “error fetching document: “.$snoopy-&gt;error.”\n”;<br />
}</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>各种程序、服务器下301跳转实现方法</title>
		<link>http://www.xhxu.cn/blog/archives/122</link>
		<comments>http://www.xhxu.cn/blog/archives/122#comments</comments>
		<pubDate>Sun, 11 Mar 2012 18:24:17 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=122</guid>
		<description><![CDATA[   301跳转的用法很多，对于一名SEO来说，301转向是必须掌握的本领，但是对于301转向而言，许多人都并不清楚，今天中午就有人问，301跳转以后，需不需要对原网站进行优化，现在在这里，再次提及一边301跳转的定义：所谓301跳转，对于搜索引擎而言，便是，对搜索引擎发出信息，告诉搜索引擎：“此url地址已经永久的进行跳转到了‘XXX’url地址。”而对于用户而言，301跳转后的网站，在用户使用的时候，输入旧的地址，会自动跳转到新的地址，只是这个过程及其迅速，不可察觉而已。    下面就跟随我来看看，各种程序、服务器下301跳转的实现：    一: IIS服务器中实现301跳转:    1.打开internet信息服务管理器，在欲重定向的网页或目录上按右键     2.选中“重定向到URL”     3.在对话框中输入目标页面的地址     4.选中“资源的永久重定向”     5.点击“应用”。    二:ASP下的301转向代码:    1.&#60;%@ Language=”VBScript” %&#62;    2.&#60;%    3.Response.Status = “301 Moved Permanently”    4.Response.AddHeader “Location”, “http://www.url.com”    5.%&#62;    三、PHP下的301转向代码: &#60;? header(“HTTP/1.1 301 Moved Permanently”); header(“Location:http://www.url.com”); exit(); ?&#62;   四:ASP.Net下的301转向代码: &#60;script runat=”server”&#62; private void Page_Load(object sender, System.EventArgs e) { Response.Status = “301 Moved Permanently”; Response.AddHeader(“Location”,”http://www.url.com”); } &#60;/script&#62;   五:CGI Perl下的301转向代码: $q = new [...]]]></description>
			<content:encoded><![CDATA[<p><wbr> <wbr> <wbr> 301跳转的用法很多，对于一名SEO来说，301转向是必须掌握的本领，但是对于301转向而言，许多人都并不清楚，今天中午就有人问，301跳转以后，需不需要对原网站进行优化，现在在这里，再次提及一边301跳转的定义：所谓301跳转，对于搜索引擎而言，便是，对搜索引擎发出信息，告诉搜索引擎：“此url地址已经永久的进行跳转到了‘XXX’url地址。”而对于用户而言，301跳转后的网站，在用户使用的时候，输入旧的地址，会自动跳转到新的地址，只是这个过程及其迅速，不可察觉而已。</wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 下面就跟随我来看看，各种程序、服务器下301跳转的实现：<span id="more-122"></span><br />
<wbr> <wbr> <wbr> <wbr>一: IIS服务器中实现301跳转:<br />
<wbr> <wbr> <wbr> <wbr>1.打开internet信息服务管理器，在欲重定向的网页或目录上按右键 <wbr><br />
<wbr> <wbr> <wbr> <wbr>2.选中“重定向到URL” <wbr><br />
<wbr> <wbr> <wbr> <wbr>3.在对话框中输入目标页面的地址 <wbr><br />
<wbr> <wbr> <wbr> <wbr>4.选中“资源的永久重定向” <wbr><br />
<wbr> <wbr> <wbr> <wbr>5.点击“应用”。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 二:ASP下的301转向代码:</wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 1.&lt;%@ Language=”VBScript” %&gt;<br />
</wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 2.&lt;%<br />
</wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 3.Response.Status = “301 Moved Permanently”<br />
</wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 4.Response.AddHeader “Location”, “http://www.url.com”<br />
</wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 5.%&gt;<br />
</wbr></wbr></wbr></p>
<p><wbr> <wbr> <wbr> 三、PHP下的301转向代码:</wbr></wbr></wbr></p>
<div>
<div>
<ol>
<li>&lt;?</li>
<li>header(“HTTP/1.1 301 Moved Permanently”);</li>
<li>header(“Location:http://www.url.com”);</li>
<li>exit();</li>
<li>?&gt;</li>
</ol>
</div>
</div>
<p><wbr> <wbr> 四:ASP.Net下的301转向代码:</wbr></wbr></p>
<div>
<div>
<ol>
<li>&lt;script runat=”server”&gt;</li>
<li>private void Page_Load(object sender, System.EventArgs e)</li>
<li>{</li>
<li>Response.Status = “301 Moved Permanently”;</li>
<li>Response.AddHeader(“Location”,”http://www.url.com”);</li>
<li>}</li>
<li>&lt;/script&gt;</li>
</ol>
</div>
</div>
<p><wbr> <wbr> 五:CGI Perl下的301转向代码:</wbr></wbr></p>
<div>
<div>
<ol>
<li>$q = new CGI;</li>
<li>print $q-&gt;redirect(“http://www.url.com”);</li>
</ol>
</div>
</div>
<p><wbr> <wbr> 六:JSP下的301转向代码:</wbr></wbr></p>
<div>
<div>
<ol>
<li>&lt;%</li>
<li>response.setStatus(301);</li>
<li>response.setHeader( “Location”, “http://www.url.com” );</li>
<li>response.setHeader( “Connection”, “close” );</li>
<li>%&gt;</li>
</ol>
</div>
</div>
<p><wbr> <wbr>七:Apache下301转向代码:</wbr></wbr></p>
<p><wbr> <wbr> 建立.htaccess文件，（需要开启mod_rewrite）</wbr></wbr></p>
<p><wbr> <wbr> 1）进行url标准化，将不带WWW的域名转向到带WWW的域名下:</wbr></wbr></p>
<div>
<div>
<ol>
<li>Options +FollowSymLinks</li>
<li>RewriteEngine on</li>
<li>RewriteCond %{HTTP_HOST} ^url.com [NC]</li>
<li>RewriteRule ^(.*)$ http://www.url.com/$1 [L,R=301]</li>
</ol>
</div>
</div>
<p><wbr> <wbr> 2)重定向到新域名:</wbr></wbr></p>
<div>
<div>
<ol>
<li>Options +FollowSymLinks</li>
<li>RewriteEngine on</li>
<li>RewriteRule ^(.*)$ http://www.url.com/$1 [L,R=301]</li>
</ol>
</div>
</div>
<p><wbr> <wbr>八:Apache下vhosts.conf中配置301跳转:</wbr></wbr></p>
<p><wbr> <wbr> 为实现URL规范化，seo需要将不规范的url地址进行301跳转至规范的url地址</wbr></wbr></p>
<p><wbr> <wbr> vhosts.conf中配置为：</wbr></wbr></p>
<p><wbr> <wbr> Apache下vhosts.conf中配置301跳转:</wbr></wbr></p>
<div>
<div>
<ol>
<li>&lt;VirtualHost *:80&gt;</li>
<li>ServerName www.url.com</li>
<li>DocumentRoot /home/lesishu</li>
<li>&lt;/VirtualHost&gt;</li>
<li></li>
<li>&lt;VirtualHost *:80&gt;</li>
<li>ServerName url.com</li>
<li>RedirectMatch permanent ^/(.*) http://www.url.com/$1</li>
<li>&lt;/VirtualHost&gt;</li>
</ol>
</div>
</div>
<p><wbr> <wbr> 九:Ruby中实现301跳转:</wbr></wbr></p>
<p><wbr> <wbr> Ruby中实现301跳转:</wbr></wbr></p>
<div>
<div>
<ol>
<li>def old_action</li>
<li>headers["Status"] = “301 Moved Permanently”</li>
<li>redirect_to “http://www.url.com”</li>
<li>end</li>
</ol>
</div>
</div>
<p><wbr> 十:Coldfusion中实现301跳转:</wbr></p>
<p><wbr> Coldfusion中实现301跳转:</wbr></p>
<div>
<div>
<ol>
<li>&lt;.cfheader statuscode=”301&#8243; statustext=”Moved permanently”&gt;</li>
<li>&lt;.cfheader name=”Location” value=”http://www.url.com”&gt;</li>
</ol>
</div>
<p><wbr> <wbr>通过以上整理的这些301转向的代码希望这些各种程序的301代码写法能够让你对于301的写法有充分的认识。并通过实际的运用完全掌握301跳转的用法。</wbr></wbr></p>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/122/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zend Studio 9.0 下载、汉化、注册</title>
		<link>http://www.xhxu.cn/blog/archives/114</link>
		<comments>http://www.xhxu.cn/blog/archives/114#comments</comments>
		<pubDate>Thu, 08 Mar 2012 01:48:55 +0000</pubDate>
		<dc:creator>風逸飛</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.xhxu.cn/blog/?p=114</guid>
		<description><![CDATA[Zend Studio是Zend Technologies开发的PHP语言集成开发环境（Integrated Development Environment　IDE)。也支持HTML和js标签，但只对PHP语言提供调试支持。因为是同一个公司的产品，所以提供的Zend Framework方面的支持比其他软件好。 Zend Studio 9 正式发布，主要包含以下更新： Git和Github支持 云开发部署 深度Zend Framework和Zend Server集成 更快、更精简的IDE 下载:Zend Studio 9.0.0 Final 但是，很多初级phper会很郁闷的呐喊，最新版太好了，但是是英文的，而且只能用30天，肿么办？ 其实英文是很好的，可以帮我们锻炼英语啊啊 啊，但是如果，你实在看不懂的话，那么下面这个地址是个离线汉化包，使用方法是解压后覆盖。下载地址是： http://dl.dbank.com/c0dmtyjzs5 http://115.com/file/aqx88cuw#zendstudio9.0.0-zh_CN.zip 如果这不能使用，请试试前面那种安装新软件的方式，具体做法是选择Help菜单，然后选择install new software,然后贴上文章开头提到的地址，漫长的等待之后，选择中文语言包，再漫长的等待之后就汉化好了，提示重启zend studio. 目前只在windows 7 64bit上进行了测试，居然成功了。 现在zend studio算是被我们汉化了，但是我们只能用30天，不会吧，这么好的东西只能用30天实在是太可耻了，要知道这鬼网速下载这个安装包都不止30天啊！！移动WLAN啊啊！！天雷滚滚啊！！ Zend Studio 9.0正式版注册破解工作正式开始 还是要啰嗦一句，以下方法仅供技术交流学习，请勿非法使用，如长期使用请支持购买正版。（真的，不是装13，和谐社会，支持正版，都是文明人。。） 正版购买地址：http://shop.zend.com/en/zend-studio-for-eclipse.html 注册破解步 第一步：如果已经安装过Zend Studio 9.0的,请打开Zend Studio 9.0,在菜单中“help&#62;Unregister”,如果显示是灰的跳过此步退出Zend Studio。如 果显示可以点击的请点击，这时Zend Studio会重启，重启到要求你填注册码时点“QUIT”按钮 第二步：下载com.zend.php.core_9.0.0.201111081531.jar文件，下载成功后复制到你安装Zend Studio 9.0的plugins目录下，覆盖同名文件。 第三步：启动Zend Studio 9.0，输入如下注册码License key: 34E606CF10C3E4CF202ABCEAA9B0B7A64DD2C5862A514B944AAAB38E3EB8A5F2CD735A2AB4CF9B952590EFA62BA0AB2B3E5D99C33C55309EE143165AC7F1817D626574615F3B32312F31312F323031313B392E303B3030313B313B3330 第四步：查看是否注册成功，在菜单中“help&#62;About Zend Studio [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xhxu.cn/blog/wp-content/uploads/2012/03/dd4eeca7e1b20ec9a8ef36002c46c525.png"><img class="alignnone size-full wp-image-118" title="Zendstudio9.0汉化版" src="http://www.xhxu.cn/blog/wp-content/uploads/2012/03/dd4eeca7e1b20ec9a8ef36002c46c525.png" alt="" width="470" height="318" /></a><br />
Zend Studio是Zend Technologies开发的PHP语言集成开发环境（Integrated Development Environment　IDE)。也支持HTML和js标签，但只对PHP语言提供调试支持。因为是同一个公司的产品，所以提供的Zend Framework方面的支持比其他软件好。</p>
<p>Zend Studio 9 正式发布，主要包含以下更新：<br />
Git和Github支持<br />
云开发部署<br />
深度Zend Framework和Zend Server集成<br />
更快、更精简的IDE<span id="more-114"></span></p>
<p><strong><a href="http://www.xhxu.cn/blog/wp-content/uploads/2012/03/down.gif"><img class="alignnone size-full wp-image-117" title="download" src="http://www.xhxu.cn/blog/wp-content/uploads/2012/03/down.gif" alt="" width="20" height="20" /></a>下载:</strong><a href="https://www.zend.com/en/products/studio/downloads" target="_blank">Zend Studio 9.0.0 Final</a></p>
<p>但是，很多初级phper会很郁闷的呐喊，最新版太好了，但是是英文的，而且只能用30天，肿么办？</p>
<p>其实英文是很好的，可以帮我们锻炼英语啊啊 啊，但是如果，你实在看不懂的话，那么下面这个地址是个离线汉化包，使用方法是解压后覆盖。下载地址是：</p>
<p><a href="http://dl.dbank.com/c0dmtyjzs5">http://dl.dbank.com/c0dmtyjzs5</a></p>
<pre><a href="http://115.com/file/aqx88cuw# zendstudio9.0.0-zh_CN.zip">http://115.com/file/aqx88cuw#zendstudio9.0.0-zh_CN.zip</a></pre>
<p>如果这不能使用，请试试前面那种安装新软件的方式，具体做法是选择Help菜单，然后选择install new software,然后贴上文章开头提到的地址，漫长的等待之后，选择中文语言包，再漫长的等待之后就汉化好了，提示重启zend studio.</p>
<p>目前只在windows 7 64bit上进行了测试，居然成功了。</p>
<p>现在zend studio算是被我们汉化了，但是我们只能用30天，不会吧，这么好的东西只能用30天实在是太可耻了，要知道这鬼网速下载这个安装包都不止30天啊！！移动WLAN啊啊！！天雷滚滚啊！！</p>
<p>Zend Studio 9.0正式版注册破解工作正式开始<br />
还是要啰嗦一句，以下方法仅供技术交流学习，请勿非法使用，如长期使用请支持购买正版。（真的，不是装13，和谐社会，支持正版，都是文明人。。）<br />
正版购买地址：http://shop.zend.com/en/zend-studio-for-eclipse.html<br />
注册破解步<br />
第一步：如果已经安装过Zend Studio 9.0的,请打开Zend Studio 9.0,在菜单中“help&gt;Unregister”,如果显示是灰的跳过此步退出Zend Studio。如<br />
果显示可以点击的请点击，这时Zend Studio会重启，重启到要求你填注册码时点“QUIT”按钮</p>
<p>第二步：下载<a href="http://115.com/file/e6a11gq5# com.zend.php.core_9.0.0.201111081531.jar" target="_blank">com.zend.php.core_9.0.0.201111081531.jar</a>文件，下载成功后复制到你安装Zend Studio 9.0的plugins目录下，覆盖同名文件。<br />
第三步：启动Zend Studio 9.0，输入如下注册码License key:<br />
34E606CF10C3E4CF202ABCEAA9B0B7A64DD2C5862A514B944AAAB38E3EB8A5F2CD735A2AB4CF9B952590EFA62BA0AB2B3E5D99C33C55309EE143165AC7F1817D626574615F3B32312F31312F323031313B392E303B3030313B313B3330<br />
第四步：查看是否注册成功，在菜单中“help&gt;About Zend Studio ”。<br />
看看过期时间是不是9999年12月31日？？哈哈破解成功。<br />
防止有些童鞋看不见，再重申一边文中涉及文件下载地址：</p>
<h3><strong><a href="http://115.com/file/e6a11gq5# com.zend.php.core_9.0.0.201111081531.jar" target="_blank">com.zend.php.core_9.0.0.201111081531.jar</a></strong></h3>
<h3><strong><a href="http://115.com/file/aqx88cuw#zendstudio9.0.0-zh_CN.zip" target="_blank">汉化包</a></strong></h3>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xhxu.cn/blog/archives/114/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

