<?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>扯Web &#187; Web技术</title>
	<atom:link href="http://cheweb.org/category/webtech/feed" rel="self" type="application/rss+xml" />
	<link>http://cheweb.org</link>
	<description>闲扯天朝网络，助力中国博客</description>
	<lastBuildDate>Sun, 25 Jul 2010 13:12:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>VPS完全指南</title>
		<link>http://cheweb.org/370.html</link>
		<comments>http://cheweb.org/370.html#comments</comments>
		<pubDate>Tue, 06 Apr 2010 15:23:19 +0000</pubDate>
		<dc:creator>Ven</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://cheweb.org/370.html</guid>
		<description><![CDATA[主机行业很花俏，他们提供了大量的选择，以适应用户千奇百怪的需求。但和其他事情一样，用户在选择时必须做权衡。
虚拟主机，也叫共享主机（shared hosting）通常廉价、易用，但系统资源受限。专属服务器（dedicated servers）更加强大、可定制，但需要一定水平的技术知识。
如果一个网站很大，流量很高，虚拟主机已无法承载；而使用专属服务器的话对网站来说又没有必要。如果你遇到这样的问题，那么你需要一个VPS主机。

虚拟私有服务器（virtual private server, VPS）是一种灵活的、可扩展的、经济的主机解决方案，可以适应绝大部分网站。它适合不满足于虚拟主机，而又不需要一整台服务器的用户。
在我们深入研究VPS的特性和优势之前，请注意，不同主机商提供的VPS有很大差异。要确定主机商的VPS是否包含某一特性，请直接咨询主机商。
那么，VPS到底是什么？
在虚拟主机上，你的网站和其他N多用户的网站都呆在同一台服务器上，这些网站共享这台服务器的资源，如内存、磁盘空间和CPU，而且你只能使用主机商提供的功能。

专属服务器，不言自明，你的网站是这台服务器上唯一的网站（或者说你是这台服务器的唯一用户），你独占这台服务器的所有资源。专属服务器适合大型网站——巨大的数据库、惊人的流量。而虚拟主机往往拒绝或限制这么大的网站。专属服务器通常很贵，而虚拟主机通常每个月的花费则不到10美刀。
VPS的资源
VPS是一种灵活的解决方案，介于虚拟主机和专属服务器之间——不仅仅是价格还包括功能。
和专属服务器一样，VPS上的网站独占内存和磁盘空间；而同虚拟主机一样，你的网站必须和其他网站共享CPU。简单来说，VPS的内存和磁盘空间是专属的，而CPU是共享的。而CPU的共享情况，又根据主机商的设置不同而不同。
下表展示了大部分主机商对虚拟主机、VPS和专属服务器的区分。



虚拟主机
VPS
专属服务器


共享内存、磁盘空间和CPU
共享CPU，内存和磁盘空间专属
内存、磁盘空间和CPU都是专属


无服务器级的可定制性
服务器级的可定制性
服务器级的可定制性


所有服务器级的软件都是预先安装好的
服务器级软件（OS, cPanel, LAMP）的预安装情况取决于主机商
服务器级软件（OS, cPanel, LAMP）的预安装情况取决于主机商


通常提供完全的用户支持
用户支持情况取决于服务商
用户支持情况取决于服务商


$
$$
$$$



突发内存（burstable RAM）
VPS不仅提供了更多的内存、磁盘空间，以及比虚拟主机更高的CPU资源。根据主机商的不同，某些还提供了突发内存功能，以应对突发性的内存枯竭情况。当遇到突发性的高流量事件时，突发内存将调用预留池中的内存，以应对暂时性的高流量。虚拟主机上没有这个功能，而专属服务器会使用全部的可用内存，不设内存预留池
用户支持的差异
和性能上的差异一样，不同VPS主机商的客户支持等级和类型也不尽相同。例如，某些公司提供半托管的VPS服务，而另一些公司则是全托管。
用户支持的差异如下表所示：



无托管
半托管
全托管


主机商解决硬件和网络问题
主机商解决硬件、网络和常规软件问题
主机商解决硬件、网络及一切软件问题


用户对所有的软件、性能问题负责
用户自己解决自定义软件的问题
主机商负责自定义软件的安装



如你所见，VPS是完美的中间选择——足够灵活的可定制性，充足的资源。适合想要获得比虚拟主机更多的主机权限，而又买不起专属服务器的哟过户。如果你需要root权限访问，虚拟主机不会给你提供，而VPS可以。如果你的网站的内存占用大起大落，而你的主机商又正好提供，那么突发内存将对你非常有吸引力。如果你喜欢自定义，那么服务器级的软件自定义，如PHP、MySQL和Apache，会令你产生兴趣。
简单来说，VPS具有专属服务器绝大部分的功能，并且在价格和用户支持上更有优势。
我需要VPS吗？
答案是“或许”。也许你是一个web设计师，手里有几个站，另外有一些长期合作客户的网站需要你管理。VPS适合你吗？好吧，看来你很可能需要一个高于虚拟主机的平台，这样你就不用再和其他用户共用资源，不必担心其他用户占有更多资源而影响你的网站的情况。专属主机有点过了，你并不是一直需要那么多的系统资源，而且你无法调整预算。
最后我要说，如果你的网站由静态网页构成，那么虚拟主机对你就足够了。如果你有大量文件存储，有多个站，动态网页构成，并且时不时会有大量流量涌入，那么你就应该考虑升级到VPS了。你能做的比在虚拟主机上更多，而投资又远远小于专属服务器。

原创编著/编译，转载请给面子： 转载自扯Web，本文原始链接: VPS完全指南

继续阅读：选择网站主机时必须注意的20个问题

觉得文章靠谱？欢迎发表评论！ &#124;
本文永久链接 
&#124;作者: Ven  &#124; © 扯Web, 2010 版权所有 
]]></description>
			<content:encoded><![CDATA[<p>主机行业很花俏，他们提供了大量的选择，以适应用户千奇百怪的需求。但和其他事情一样，用户在选择时必须做权衡。</p>
<p>虚拟主机，也叫共享主机（shared hosting）通常廉价、易用，但系统资源受限。专属服务器（dedicated servers）更加强大、可定制，但需要一定水平的技术知识。</p>
<p>如果一个网站很大，流量很高，虚拟主机已无法承载；而使用专属服务器的话对网站来说又没有必要。如果你遇到这样的问题，那么你需要一个VPS主机。</p>
<p><a href="http://cheweb.org/wp-content/uploads/2010/04/vps_diagram.gif"><img class="alignnone size-medium wp-image-375" title="vps_diagram" src="http://cheweb.org/index.php?feedimage=wp-content/uploads/2010/04/vps_diagram-326x300.gif" alt="" width="326" height="300" /></a></p>
<p><strong>虚拟私有服务器（virtual private server, VPS）</strong>是一种灵活的、可扩展的、经济的主机解决方案，可以适应绝大部分网站。它适合不满足于虚拟主机，而又不需要一整台服务器的用户。</p>
<p>在我们深入研究VPS的特性和优势之前，请注意，不同主机商提供的VPS有很大差异。要确定主机商的VPS是否包含某一特性，请直接咨询主机商。</p>
<h3>那么，VPS到底是什么？</h3>
<p>在虚拟主机上，你的网站和其他N多用户的网站都呆在同一台服务器上，这些网站共享这台服务器的资源，如内存、磁盘空间和CPU，而且你只能使用主机商提供的功能。</p>
<p><span id="more-370"></span></p>
<p>专属服务器，不言自明，你的网站是这台服务器上唯一的网站（或者说你是这台服务器的唯一用户），你独占这台服务器的所有资源。专属服务器适合大型网站——巨大的数据库、惊人的流量。而虚拟主机往往拒绝或限制这么大的网站。专属服务器通常很贵，而虚拟主机通常每个月的花费则不到10美刀。</p>
<h3>VPS的资源</h3>
<p>VPS是一种灵活的解决方案，介于虚拟主机和专属服务器之间——不仅仅是价格还包括功能。</p>
<p>和专属服务器一样，VPS上的网站独占内存和磁盘空间；而同虚拟主机一样，你的网站必须和其他网站共享CPU。简单来说，VPS的内存和磁盘空间是专属的，而CPU是共享的。而CPU的共享情况，又根据主机商的设置不同而不同。</p>
<p>下表展示了大部分主机商对虚拟主机、VPS和专属服务器的区分。</p>
<table border="1" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="133" valign="top"><strong>虚拟主机</strong></td>
<td width="133" valign="top"><strong>VPS</strong></td>
<td width="133" valign="top"><strong>专属服务器</strong></td>
</tr>
<tr>
<td width="133" valign="top">共享内存、磁盘空间和CPU</td>
<td width="133" valign="top">共享CPU，内存和磁盘空间专属</td>
<td width="133" valign="top">内存、磁盘空间和CPU都是专属</td>
</tr>
<tr>
<td width="133" valign="top">无服务器级的可定制性</td>
<td width="133" valign="top">服务器级的可定制性</td>
<td width="133" valign="top">服务器级的可定制性</td>
</tr>
<tr>
<td width="133" valign="top">所有服务器级的软件都是预先安装好的</td>
<td width="133" valign="top">服务器级软件（OS, cPanel, LAMP）的预安装情况取决于主机商</td>
<td width="133" valign="top">服务器级软件（OS, cPanel, LAMP）的预安装情况取决于主机商</td>
</tr>
<tr>
<td width="133" valign="top">通常提供完全的用户支持</td>
<td width="133" valign="top">用户支持情况取决于服务商</td>
<td width="133" valign="top">用户支持情况取决于服务商</td>
</tr>
<tr>
<td width="133" valign="top">$</td>
<td width="133" valign="top">$$</td>
<td width="133" valign="top">$$$</td>
</tr>
</tbody>
</table>
<h3>突发内存（burstable RAM）</h3>
<p>VPS不仅提供了更多的内存、磁盘空间，以及比虚拟主机更高的CPU资源。根据主机商的不同，某些还提供了突发内存功能，以应对突发性的内存枯竭情况。当遇到突发性的高流量事件时，突发内存将调用预留池中的内存，以应对暂时性的高流量。虚拟主机上没有这个功能，而专属服务器会使用全部的可用内存，不设内存预留池</p>
<h3>用户支持的差异</h3>
<p>和性能上的差异一样，不同VPS主机商的客户支持等级和类型也不尽相同。例如，某些公司提供半托管的VPS服务，而另一些公司则是全托管。</p>
<p>用户支持的差异如下表所示：</p>
<table border="1" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="133" valign="top"><strong>无托管</strong></td>
<td width="133" valign="top"><strong>半托管</strong></td>
<td width="133" valign="top"><strong>全托管</strong></td>
</tr>
<tr>
<td width="133" valign="top">主机商解决硬件和网络问题</td>
<td width="133" valign="top">主机商解决硬件、网络和常规软件问题</td>
<td width="133" valign="top">主机商解决硬件、网络及一切软件问题</td>
</tr>
<tr>
<td width="133" valign="top">用户对所有的软件、性能问题负责</td>
<td width="133" valign="top">用户自己解决自定义软件的问题</td>
<td width="133" valign="top">主机商负责自定义软件的安装</td>
</tr>
</tbody>
</table>
<p>如你所见，VPS是完美的中间选择——足够灵活的可定制性，充足的资源。适合想要获得比虚拟主机更多的主机权限，而又买不起专属服务器的哟过户。如果你需要root权限访问，虚拟主机不会给你提供，而VPS可以。如果你的网站的内存占用大起大落，而你的主机商又正好提供，那么突发内存将对你非常有吸引力。如果你喜欢自定义，那么服务器级的软件自定义，如PHP、MySQL和Apache，会令你产生兴趣。</p>
<p>简单来说，VPS具有专属服务器绝大部分的功能，并且在价格和用户支持上更有优势。</p>
<h3>我需要VPS吗？</h3>
<p>答案是“或许”。也许你是一个web设计师，手里有几个站，另外有一些长期合作客户的网站需要你管理。VPS适合你吗？好吧，看来你很可能需要一个高于虚拟主机的平台，这样你就不用再和其他用户共用资源，不必担心其他用户占有更多资源而影响你的网站的情况。专属主机有点过了，你并不是一直需要那么多的系统资源，而且你无法调整预算。</p>
<p>最后我要说，如果你的网站由静态网页构成，那么虚拟主机对你就足够了。如果你有大量文件存储，有多个站，动态网页构成，并且时不时会有大量流量涌入，那么你就应该考虑升级到VPS了。你能做的比在虚拟主机上更多，而投资又远远小于专属服务器。
<div style="margin-top: 15px;">
<p><strong>原创编著/编译，转载请给面子：</strong> 转载自<a href="http://cheweb.org/">扯Web</a>，<strong>本文原始链接:</strong> <a href="http://cheweb.org/370.html">VPS完全指南</a></p>
</div>
<h3  class="related_post_title">继续阅读：</h3><ul class="related_post"><li><a href="http://cheweb.org/535.html" title="选择网站主机时必须注意的20个问题">选择网站主机时必须注意的20个问题</a></li></ul><hr />
<p><small>
<a href="http://cheweb.org/370.html#comments">觉得文章靠谱？欢迎发表评论！</a> |
<a href="http://cheweb.org/370.html">本文永久链接</a> 
|作者: Ven  | © <a href="http://cheweb.org">扯Web</a>, 2010 版权所有 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://cheweb.org/370.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>如何在CSS里区分IE6、7和8</title>
		<link>http://cheweb.org/361.html</link>
		<comments>http://cheweb.org/361.html#comments</comments>
		<pubDate>Tue, 30 Mar 2010 00:38:00 +0000</pubDate>
		<dc:creator>Ven</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://cheweb.org/361.html</guid>
		<description><![CDATA[针对IE8和之前版本：
关键是在样式的最后缀上“\9”。对，只能是9，大于9或者小于9都不行。
body {    color: red; /* 对全部浏览器有效 */     color : green\9; /* 针对IE8和之前版本 */     }
针对IE7和之前版本：
有经验的Web Developer一定知道，关键在与样式前的*号。
body {    color: red; /* 对全部浏览器有效 */     color : green\9; /* 针对IE8和之前版本*/     *color : yellow; /* 针对IE7和之前版本 */    }
针对IE6：
万恶的IE6，你可以用一个下划线把它区分出来。
body {  ...]]></description>
			<content:encoded><![CDATA[<h3>针对IE8和之前版本：</h3>
<p>关键是在样式的最后缀上“\9”。对，只能是9，大于9或者小于9都不行。</p>
<p>body {    <br />color: red; /* 对全部浏览器有效 */     <br />color : green\9; /* 针对IE8和之前版本 */     <br />}</p>
<h3>针对IE7和之前版本：</h3>
<p>有经验的Web Developer一定知道，关键在与样式前的*号。</p>
<p>body {   <br /> color: red; /* 对全部浏览器有效 */    <br /> color : green\9; /* 针对IE8和之前版本*/    <br /> *color : yellow; /* 针对IE7和之前版本 */    <br />}</p>
<h3>针对IE6：</h3>
<p>万恶的IE6，你可以用一个下划线把它区分出来。</p>
<p>body {   <br /> color: red; /* 对全部浏览器有效 */    <br /> color : green\9; /* 针对IE8和之前版本 */    <br /> *color : yellow; /* 针对IE7和之前版本 */    <br /> _color : orange; /* 针对IE6 */    <br />}</p>
<div style="margin-top: 15px;">
<p><strong>原创编著/编译，转载请给面子：</strong> 转载自<a href="http://cheweb.org/">扯Web</a>，<strong>本文原始链接:</strong> <a href="http://cheweb.org/361.html">如何在CSS里区分IE6、7和8</a></p>
</div>
<h3  class="related_post_title">继续阅读：</h3><ul class="related_post"><li><a href="http://cheweb.org/373.html" title="关于Firefox的一些统计数据">关于Firefox的一些统计数据</a></li></ul><hr />
<p><small>
<a href="http://cheweb.org/361.html#comments">觉得文章靠谱？欢迎发表评论！</a> |
<a href="http://cheweb.org/361.html">本文永久链接</a> 
|作者: Ven  | © <a href="http://cheweb.org">扯Web</a>, 2010 版权所有 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://cheweb.org/361.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>10个不常见却很有用的PHP函数</title>
		<link>http://cheweb.org/298.html</link>
		<comments>http://cheweb.org/298.html#comments</comments>
		<pubDate>Sat, 16 Jan 2010 07:42:49 +0000</pubDate>
		<dc:creator>Ven</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[函数]]></category>

		<guid isPermaLink="false">http://cheweb.org/?p=298</guid>
		<description><![CDATA[1. sys_getloadavg()
sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组，每个元素分别代表系统再过去的1、5和15分钟内的平均负载。
与其让服务器因负载过高而宕掉，不如在系统负载很高时主动die掉一个脚本，sys_getloadavg()就是用来帮你实现这个功能的。 不过很遗憾，该函数在windows下无效。
2. pack()
Pack()能将md5()返回的32位16进制字符串转换为16位的二进制字符串，可以节省存储空间。
3. cal_days_in_month()
cal_days_in_month()能够返回指定月份共有多少天。
4. _()
WordPress开发者经常能见到这个函数，还有_e()。这两个函数功能相同，与gettext()函数结合使用，能实现网站的多语言化。具体可参见PHP手册的相关部分介绍。
5. get_browser()
在发送页面前先看看用户的浏览器都能做些什么是不是挺好？get_browser()能获得用户的浏览器类型，以及浏览器支持的功能，不过首先你需要一个php_browscap.ini文件，用来给函数做参考文件。
要注意，该函数对浏览器功能的判断是基于该类浏览器的一般特性的。例如，如果用户关闭了浏览器对JavaScript的支持，函数无法得知这一点。但是在判断浏览器类型和OS平台方面，该函数还是很准确的。
6. debug_print_backtrace()
这是一个调试用的函数，能帮助你发现代码中的逻辑错误。要理解这个函数，还是直接看个例子吧：
$a = 0;
function iterate() {
global $a;
if( $a &#60; 10 )
recur();
echo $a . &#8220;, &#8220;;
}
function recur() {
global $a;
$a++;
// how did I get here?
echo &#8220;\n\n\n&#8221;;
debug_print_backtrace();
if( $a &#60; 10 )
iterate();
}
iterate();
# OUTPUT:
#0  recur() called at [C:\htdocs\php_stuff\index.php:8]
#1  iterate() called at [C:\htdocs\php_stuff\index.php:25]
#0  recur() called at [C:\htdocs\php_stuff\index.php:8]
#1  iterate() called at [C:\htdocs\php_stuff\index.php:21]
#2  recur() called at [C:\htdocs\php_stuff\index.php:8]
#3 ...]]></description>
			<content:encoded><![CDATA[<p><strong>1. sys_getloadavg()</strong></p>
<p>sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组，每个元素分别代表系统再过去的1、5和15分钟内的平均负载。</p>
<p>与其让服务器因负载过高而宕掉，不如在系统负载很高时主动die掉一个脚本，sys_getloadavg()就是用来帮你实现这个功能的。 不过很遗憾，该函数在windows下无效。</p>
<p><strong>2. pack()</strong></p>
<p>Pack()能将md5()返回的32位16进制字符串转换为16位的二进制字符串，可以节省存储空间。</p>
<p><strong>3. cal_days_in_month()</strong></p>
<p><span id="more-298"></span>cal_days_in_month()能够返回指定月份共有多少天。</p>
<p><strong>4. _()</strong></p>
<p>WordPress开发者经常能见到这个函数，还有_e()。这两个函数功能相同，与gettext()函数结合使用，能实现网站的多语言化。具体可参见PHP手册的相关部分介绍。</p>
<p><strong>5. get_browser()</strong></p>
<p>在发送页面前先看看用户的浏览器都能做些什么是不是挺好？get_browser()能获得用户的浏览器类型，以及浏览器支持的功能，不过首先你需要一个php_browscap.ini文件，用来给函数做参考文件。</p>
<p>要注意，该函数对浏览器功能的判断是基于该类浏览器的一般特性的。例如，如果用户关闭了浏览器对JavaScript的支持，函数无法得知这一点。但是在判断浏览器类型和OS平台方面，该函数还是很准确的。</p>
<p><strong>6. debug_print_backtrace()</strong></p>
<p>这是一个调试用的函数，能帮助你发现代码中的逻辑错误。要理解这个函数，还是直接看个例子吧：</p>
<blockquote><p>$a = 0;</p>
<p>function iterate() {<br />
global $a;<br />
if( $a &lt; 10 )<br />
recur();<br />
echo $a . &#8220;, &#8220;;<br />
}</p>
<p>function recur() {<br />
global $a;<br />
$a++;</p>
<p>// how did I get here?<br />
echo &#8220;\n\n\n&#8221;;<br />
debug_print_backtrace();</p>
<p>if( $a &lt; 10 )<br />
iterate();</p>
<p>}</p>
<p>iterate();</p>
<p># OUTPUT:</p>
<p>#0  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#1  iterate() called at [C:\htdocs\php_stuff\index.php:25]</p>
<p>#0  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#1  iterate() called at [C:\htdocs\php_stuff\index.php:21]<br />
#2  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#3  iterate() called at [C:\htdocs\php_stuff\index.php:25]</p>
<p>#0  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#1  iterate() called at [C:\htdocs\php_stuff\index.php:21]<br />
#2  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#3  iterate() called at [C:\htdocs\php_stuff\index.php:21]<br />
#4  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#5  iterate() called at [C:\htdocs\php_stuff\index.php:25]</p></blockquote>
<p><strong>7. metaphone()</strong></p>
<p>这个函数返回单词的metaphone值，相同读音的单词具有相同的metaphone值，也就是说这个函数可以帮你判断两个单词的读音是否相同。不过对中文就无效了。。。</p>
<p><strong>8. natsort()</strong></p>
<p>natsort()能将一个数组以自然排序法进行排列，直接看个例子吧：</p>
<blockquote><p>$items = array(<br />
&#8220;100 apples&#8221;, &#8220;5 apples&#8221;, &#8220;110 apples&#8221;, &#8220;55 apples&#8221;<br />
);</p>
<p>// normal sorting:<br />
sort($items);<br />
print_r($items);<br />
# Outputs:<br />
# Array<br />
# (<br />
#     [0] =&gt; 100 apples<br />
#     [1] =&gt; 110 apples<br />
#     [2] =&gt; 5 apples<br />
#     [3] =&gt; 55 apples<br />
# )</p>
<p>natsort($items);<br />
print_r($items);<br />
# Outputs:<br />
# Array<br />
# (<br />
#     [2] =&gt; 5 apples<br />
#     [3] =&gt; 55 apples<br />
#     [0] =&gt; 100 apples<br />
#     [1] =&gt; 110 apples<br />
# )</p></blockquote>
<p><strong>9. levenshtein()</strong></p>
<p>Levenshtein()告诉你两个单词之间的“距离”。它告诉你如果想把一个单词变成另一个单词，需要插入、替换和删除多少字母。</p>
<p>看个例子吧：</p>
<blockquote><p>$dictionary = array(<br />
&#8220;php&#8221;, &#8220;javascript&#8221;, &#8220;css&#8221;<br />
);</p>
<p>$word = &#8220;japhp&#8221;;</p>
<p>$best_match = $dictionary[0];<br />
$match_value = levenshtein($dictionary[0], $word);</p>
<p>foreach($dictionary as $w) {<br />
$value = levenshtein($word, $w);<br />
if( $value &lt; $match_value ) {<br />
$best_match = $w;<br />
$match_value = $value;<br />
}<br />
}</p>
<p>echo &#8220;Did you mean the &#8216;$best_match&#8217; category?&#8221;;</p></blockquote>
<p><strong>10. glob()</strong></p>
<p>glob()会让你觉得用opendir(), readdir()和closedir()来寻找文件非常蠢。</p>
<blockquote><p>foreach (glob(&#8220;*.php&#8221;) as $file)<br />
echo &#8220;$file\n&#8221;;</p></blockquote>
<p>本文首发于<a href="http://www.mrven.com/?p=533">布鲁文的蓝色奇想</a>
<div style="margin-top: 15px;">
<p><strong>原创编著/编译，转载请给面子：</strong> 转载自<a href="http://cheweb.org/">扯Web</a>，<strong>本文原始链接:</strong> <a href="http://cheweb.org/298.html">10个不常见却很有用的PHP函数</a></p>
</div>
<h3  class="related_post_title">继续阅读：</h3><ul class="related_post"><li><a href="http://cheweb.org/535.html" title="选择网站主机时必须注意的20个问题">选择网站主机时必须注意的20个问题</a></li><li><a href="http://cheweb.org/438.html" title="phpMyAdmin开发人员访谈&mdash;&mdash;4个人支持整个项目">phpMyAdmin开发人员访谈&mdash;&mdash;4个人支持整个项目</a></li><li><a href="http://cheweb.org/49.html" title="PHP4何时会死？">PHP4何时会死？</a></li></ul><hr />
<p><small>
<a href="http://cheweb.org/298.html#comments">觉得文章靠谱？欢迎发表评论！</a> |
<a href="http://cheweb.org/298.html">本文永久链接</a> 
|作者: Ven  | © <a href="http://cheweb.org">扯Web</a>, 2010 版权所有 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://cheweb.org/298.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>再次强调：网页上的外链不会降低PR</title>
		<link>http://cheweb.org/201.html</link>
		<comments>http://cheweb.org/201.html#comments</comments>
		<pubDate>Tue, 17 Nov 2009 06:55:10 +0000</pubDate>
		<dc:creator>Ven</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[pr]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://cheweb.org/?p=201</guid>
		<description><![CDATA[互联网是Google的世界，作为站长我们的命运似乎就掌控在搜索结果的排名之中。而对搜索结果排名有影响又让人们关心的一个重要因素就是Google的PR值。确切地说就是PR值越大越好。
当然想要提高PR值是对的，但是问题在于有些站长对PR值算法的误解会给他们的行为带来致命的误导作用。其中一个误解就是认为添加外部链接会使你的PR值降低。我称之为 PR算法的“水桶理论”。

也就是说，人们心里面把网页当成水桶一样，而外链就看成是水流。水流越多，水桶的水也越多，这样你的PR值就越高。不过，按照这种说法的话，页面上的外部链接就如水桶中的孔，那么每增加一个外部链接都会让你的水桶漏水，最后使得你的PR值降低。如果在你的页面上放上一百个外部链接，那么你整个所有的水都将流走了。
这个比喻看似有道理，但其实Google PageR算法不是这样的。 
一个页面的PR值只受导入链接的数量和质量所影响，而不受外部链接的影响。(这一点你可以通过它所使用的方程式来理解，这里不做解释，因为本篇的目的不在于此)。显然，如果你向外链接一千个站点或者坏邻居， 你的页面可能被标记为“垃圾信息”被撤销引用，但是这跟PR值无关，它还是保持不变。
如果的页面PR值是5 (请记住真正的PR值不是整数而是上下浮动)， 在那个页面上放十个外部链接将不会影响它的PR值。唯一会出现的是每一个被链接的页面将会收到0.5分值 (每一个链接的分值等于发出外向链接页面的PR值除以该页面发出的外链的总数)。
而实际又更为复杂一点，我们还需要考虑其他细节以做出全面合理的分析。例如，如果你所链接的网站没有等量的回流到你的站点，你可能仍然会丢掉一点PR值。这叫做PR渗漏，但它并没有大多数人所认为的那么关键。
尽管会有那么一丁点儿的渗漏，总体而言可以说：外部链接并不会直接降低你的PR值。 事实上有很多网站包含了几十个外部链接，但在Google关键字搜索结果中却可排在最前面。
如果你曾因为害怕丢失PR值而忍痛不添加外部链接(我也这么做过)，那么我告诉你，可以不用担心这一点。链接到相关有价值的网站对每个站长都是有好处的。
英文原文：Linking Out Will NOT Reduce The Google PageRank of Your Pages

原创编著/编译，转载请给面子： 转载自扯Web，本文原始链接: 再次强调：网页上的外链不会降低PR

继续阅读：网站上线前必做的30个检查微软、苹果、Google，谁赚得多？高效邮件管理的20条守则Google加入抵制IE6的阵营用WooRank给网站做SEO综合素质评测

觉得文章靠谱？欢迎发表评论！ &#124;
本文永久链接 
&#124;作者: Ven  &#124; © 扯Web, 2009 版权所有 
]]></description>
			<content:encoded><![CDATA[<p>互联网是Google的世界，作为站长我们的命运似乎就掌控在搜索结果的排名之中。而对搜索结果排名有影响又让人们关心的一个重要因素就是Google的PR值。确切地说就是PR值越大越好。</p>
<p>当然想要提高PR值是对的，但是问题在于有些站长对PR值算法的误解会给他们的行为带来致命的误导作用。其中一个误解就是认为添加外部链接会使你的PR值降低。<strong>我称之为 PR算法的“水桶理论”。</strong></p>
<p><a href="http://cheweb.org/wp-content/uploads/2009/11/google-pagerank-leak.jpg"><img class="alignnone size-medium wp-image-202" title="google-pagerank-leak" src="http://cheweb.org/index.php?feedimage=wp-content/uploads/2009/11/google-pagerank-leak-400x235.jpg" alt="google-pagerank-leak" width="400" height="235" /></a></p>
<p>也就是说，人们心里面把网页当成水桶一样，而外链就看成是水流。水流越多，水桶的水也越多，这样你的PR值就越高。不过，按照这种说法的话，页面上的外部链接就如水桶中的孔，那么每增加一个外部链接都会让你的水桶漏水，最后使得你的PR值降低。如果在你的页面上放上一百个外部链接，那么你整个所有的水都将流走了。</p>
<p>这个比喻看似有道理，<strong>但其实Google PageR算法<a href="http://cheweb.org/201.html">不是这样</a>的。 </strong></p>
<p><span id="more-201"></span>一个页面的PR值只受导入链接的数量和质量所影响，而不受外部链接的影响。(这一点你可以通过它所使用的方程式来理解，这里不做解释，因为本篇的目的不在于此)。显然，如果你向外链接一千个站点或者坏邻居， 你的页面可能被标记为“垃圾信息”被撤销引用，但是这跟PR值无关，它还是保持不变。</p>
<p>如果的页面PR值是5 (请记住真正的PR值不是整数而是上下浮动)， 在那个页面上放十个外部链接将不会影响它的PR值。唯一会出现的是每一个被链接的页面将会收到0.5分值 (每一个链接的分值等于发出外向链接页面的PR值除以该页面发出的外链的总数)。</p>
<p>而实际又更为复杂一点，我们还需要考虑其他细节以做出全面合理的分析。例如，如果你所链接的网站没有等量的回流到你的站点，你可能仍然会丢掉一点PR值。这叫做PR渗漏，但它并没有大多数人所认为的那么关键。</p>
<p>尽管会有那么一丁点儿的渗漏，总体而言可以说：<strong>外部链接并不会直接降低你的PR值。</strong> 事实上有很多网站包含了几十个外部链接，但在Google关键字搜索结果中却可排在最前面。</p>
<p>如果你曾因为害怕丢失PR值而忍痛不添加外部链接(我也这么做过)，那么我告诉你，可以不用担心这一点。链接到相关有价值的网站对每个站长都是有好处的。</p>
<p>英文原文：<a href="http://www.dailyblogtips.com/linking-out-google-pagerank/" target="_blank">Linking Out Will NOT Reduce The Google PageRank of Your Pages</a>
<div style="margin-top: 15px;">
<p><strong>原创编著/编译，转载请给面子：</strong> 转载自<a href="http://cheweb.org/">扯Web</a>，<strong>本文原始链接:</strong> <a href="http://cheweb.org/201.html">再次强调：网页上的外链不会降低PR</a></p>
</div>
<h3  class="related_post_title">继续阅读：</h3><ul class="related_post"><li><a href="http://cheweb.org/530.html" title="网站上线前必做的30个检查">网站上线前必做的30个检查</a></li><li><a href="http://cheweb.org/389.html" title="微软、苹果、Google，谁赚得多？">微软、苹果、Google，谁赚得多？</a></li><li><a href="http://cheweb.org/342.html" title="高效邮件管理的20条守则">高效邮件管理的20条守则</a></li><li><a href="http://cheweb.org/331.html" title="Google加入抵制IE6的阵营">Google加入抵制IE6的阵营</a></li><li><a href="http://cheweb.org/320.html" title="用WooRank给网站做SEO综合素质评测">用WooRank给网站做SEO综合素质评测</a></li></ul><hr />
<p><small>
<a href="http://cheweb.org/201.html#comments">觉得文章靠谱？欢迎发表评论！</a> |
<a href="http://cheweb.org/201.html">本文永久链接</a> 
|作者: Ven  | © <a href="http://cheweb.org">扯Web</a>, 2009 版权所有 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://cheweb.org/201.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google所谓的网站访问速度指什么？</title>
		<link>http://cheweb.org/156.html</link>
		<comments>http://cheweb.org/156.html#comments</comments>
		<pubDate>Sat, 14 Nov 2009 16:41:37 +0000</pubDate>
		<dc:creator>Ven</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[pagerank]]></category>
		<category><![CDATA[网页优化]]></category>

		<guid isPermaLink="false">http://cheweb.org/?p=156</guid>
		<description><![CDATA[
今天看到一篇名为《Google或将网站访问速度纳入PageRank指标》的新闻：
Google品质管理部门的软件工程师马特-卡茨(Matt Cutts)在接受采访时表示:“过去,我们并未把网页载入速度计入搜索引擎排名,但是Google很多员工都认为如果这样做的话,网络会变得更快.而访问速度快的网站显然用户体验更好,因此这些网站应该得到额外的奖励.用户一点都不喜欢非常慢的网站.我认为在2010年,许多网站管理员都将考虑其网站的载入速度.”
业内人士称,Google可能会考虑把网页载入速度纳入搜索引擎排名体系.这将意味提升网站访问速度将成为搜索引擎优化的工作之一.
不少人误解了这篇新闻，认为Matt Cutts所谓的“网站访问速度”就是“网页载入时间”。事实上，网页载入时间是个很抽象的概念，受众多不可测因素：如ISP线路、网页执行时间、服务器的当前负载、服务器带宽等的影响，这一指标很难成为标准性的指标。
以ISP线路为例，任何一个机房在全球各地的连接速度差异很大，Google以哪里的载入速度做标准呢？基本上是个无解的难题。如果用“多次测量取平均数”方式，综合统计Google在全球37个机房的的载入速度，那以后Google对每一个网页的单词抓取都要重复37遍，工程浩大，成本高昂。
事实上，所谓的“网站访问速度纳入PageRank指标”其实是Google的“Let&#8217;s make the web faster”项目的一个推广。该项目旨在帮助网站开发人员对网页进行优化，主要指标有：用Gzip压缩网页和js、css文件，正确的使用http缓存，精简html代码等。
Google为此出了几款优化工具，如Page Speed（一个firebug插件），帮助开发人员检测网页优化中的不足。而这个检测工具中衡量的几项数据，其实才是PageRank真正统计的指标。可以想象，未来Google爬虫在抓取网页时，会同时使用类似Page Speed的工具对网页优化成都进行评定和打分，最终的结果将被PageRank作为参考。
Google为什么不断强调网页载入速度？先是“Let&#8217;s make the web faster”，后又传闻载入速度将影响Adwords的投放，现在又有网站访问速度将纳入PageRank指标。其实一切的一切，仍然是为了商业利益在考量的，通过提升全球网站的访问速度，Google将：

 抓取更快:
更快的web站点服务和更快的通信意味着谷歌抓取信息的速度就更快了。这也是目前衡量实时网站的一个标准。抓取更快甚至还会使得抓取成本更低，因为下载页面的时间少了。
 更多广告:
web页面速度更快意味着更少下载到损坏页面的可能，因此，可以浏览更多的页面，这样谷歌就可以投放更多的广告了。
 更多的互联网用户:
web速度更快的一个附带的影响就是互联网用户更多了。获益最大的还是谷歌，很少有其他公司能比谷歌收获更大，因为谷歌的顾客基数就比他们大。
 提高了web作为开发其它应用程序平台的可行性:
比如Chrome OS说，如果web想成为我们的应用程序开发平台，它的速度就得更快，反应得更灵敏。
 对谷歌的数据中心也有好处:
这点是与上面一点相关的。谷歌的云实际上是由多个互相关联的数据中心组成的。互联网速度越快越高效，数据中心就能更好地一起运作。

真是很大的一盘棋啊！

原创编著/编译，转载请给面子： 转载自扯Web，本文原始链接: Google所谓的网站访问速度指什么？

继续阅读：微软、苹果、Google，谁赚得多？高效邮件管理的20条守则Google加入抵制IE6的阵营Google Wave 用户数即将破百万国外三大搜索引擎的09年最热关键词

觉得文章靠谱？欢迎发表评论！ &#124;
本文永久链接 
&#124;作者: Ven  &#124; © 扯Web, 2009 版权所有 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://cheweb.org/wp-content/uploads/2009/11/google-pagerank.png"><img class="alignnone size-full wp-image-157" title="google-pagerank" src="http://cheweb.org/index.php?feedimage=wp-content/uploads/2009/11/google-pagerank.png" alt="google-pagerank" width="450" height="200" /></a></p>
<p>今天看到一篇名为《Google或将网站访问速度纳入PageRank指标》的新闻：</p>
<blockquote><p>Google品质管理部门的软件工程师马特-卡茨(Matt Cutts)在接受采访时表示:“过去,我们并未把网页载入速度计入搜索引擎排名,但是Google很多员工都认为如果这样做的话,网络会变得更快.而访问速度快的网站显然用户体验更好,因此这些网站应该得到额外的奖励.用户一点都不喜欢非常慢的网站.我认为在2010年,许多网站管理员都将考虑其网站的载入速度.”</p>
<p>业内人士称,Google可能会考虑把网页载入速度纳入搜索引擎排名体系.这将意味提升网站访问速度将成为搜索引擎优化的工作之一.</p></blockquote>
<p>不少人误解了这篇新闻，认为Matt Cutts所谓的“网站访问速度”就是“网页载入时间”。事实上，网页载入时间是个很抽象的概念，受众多不可测因素：如ISP线路、网页执行时间、服务器的当前负载、服务器带宽等的影响，这一指标很难成为标准性的指标。</p>
<p><span id="more-156"></span>以ISP线路为例，任何一个机房在全球各地的连接速度差异很大，Google以哪里的载入速度做标准呢？基本上是个无解的难题。如果用“多次测量取平均数”方式，综合统计Google在全球37个机房的的载入速度，那以后Google对每一个网页的单词抓取都要重复37遍，工程浩大，成本高昂。</p>
<p>事实上，所谓的“网站访问速度纳入PageRank指标”其实是Google的“<a href="http://code.google.com/speed/" target="_blank">Let&#8217;s make the web faster</a>”项目的一个推广。该项目旨在帮助网站开发人员对网页进行优化，主要指标有：用Gzip压缩网页和js、css文件，正确的使用http缓存，精简html代码等。</p>
<p>Google为此出了几款优化工具，如<a href="http://code.google.com/speed/page-speed/" target="_blank">Page Speed</a>（一个firebug插件），帮助开发人员检测网页优化中的不足。而这个检测工具中衡量的几项数据，其实才是PageRank真正统计的指标。可以想象，未来Google爬虫在抓取网页时，会同时使用类似Page Speed的工具对网页优化成都进行评定和打分，最终的结果将被PageRank作为参考。</p>
<p>Google为什么不断强调网页载入速度？先是“Let&#8217;s make the web faster”，后又传闻载入速度将影响Adwords的投放，现在又有网站访问速度将纳入PageRank指标。其实一切的一切，仍然是为了商业利益在考量的，通过提升全球网站的访问速度，Google将：</p>
<ul>
<li> 抓取更快:<br />
更快的web站点服务和更快的通信意味着谷歌抓取信息的速度就更快了。这也是目前衡量实时网站的一个标准。抓取更快甚至还会使得抓取成本更低，因为下载页面的时间少了。</li>
<li> 更多广告:<br />
web页面速度更快意味着更少下载到损坏页面的可能，因此，可以浏览更多的页面，这样谷歌就可以投放更多的广告了。</li>
<li> 更多的互联网用户:<br />
web速度更快的一个附带的影响就是互联网用户更多了。获益最大的还是谷歌，很少有其他公司能比谷歌收获更大，因为谷歌的顾客基数就比他们大。</li>
<li> 提高了web作为开发其它应用程序平台的可行性:<br />
比如Chrome OS说，如果web想成为我们的应用程序开发平台，它的速度就得更快，反应得更灵敏。</li>
<li> 对谷歌的数据中心也有好处:<br />
这点是与上面一点相关的。谷歌的云实际上是由多个互相关联的数据中心组成的。互联网速度越快越高效，数据中心就能更好地一起运作。</li>
</ul>
<p>真是很大的一盘棋啊！
<div style="margin-top: 15px;">
<p><strong>原创编著/编译，转载请给面子：</strong> 转载自<a href="http://cheweb.org/">扯Web</a>，<strong>本文原始链接:</strong> <a href="http://cheweb.org/156.html">Google所谓的网站访问速度指什么？</a></p>
</div>
<h3  class="related_post_title">继续阅读：</h3><ul class="related_post"><li><a href="http://cheweb.org/389.html" title="微软、苹果、Google，谁赚得多？">微软、苹果、Google，谁赚得多？</a></li><li><a href="http://cheweb.org/342.html" title="高效邮件管理的20条守则">高效邮件管理的20条守则</a></li><li><a href="http://cheweb.org/331.html" title="Google加入抵制IE6的阵营">Google加入抵制IE6的阵营</a></li><li><a href="http://cheweb.org/285.html" title="Google Wave 用户数即将破百万">Google Wave 用户数即将破百万</a></li><li><a href="http://cheweb.org/265.html" title="国外三大搜索引擎的09年最热关键词">国外三大搜索引擎的09年最热关键词</a></li></ul><hr />
<p><small>
<a href="http://cheweb.org/156.html#comments">觉得文章靠谱？欢迎发表评论！</a> |
<a href="http://cheweb.org/156.html">本文永久链接</a> 
|作者: Ven  | © <a href="http://cheweb.org">扯Web</a>, 2009 版权所有 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://cheweb.org/156.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>为WordPress插件兼容性测试出一份力</title>
		<link>http://cheweb.org/121.html</link>
		<comments>http://cheweb.org/121.html#comments</comments>
		<pubDate>Tue, 10 Nov 2009 04:28:17 +0000</pubDate>
		<dc:creator>Ven</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://cheweb.org/?p=121</guid>
		<description><![CDATA[WordPress官方网站前段时间推出了Plugin Compatibility，一个插件兼容性测试的小应用。在每个插件主页的边栏，都会显示Compatibility表单，里面可以查看该插件的不同版本在WordPress各个版本下的兼容性情况。
兼容性数据都是由用户人工提交的，希望大家在使用插件之余，也能花点时间去提交下自己的兼容情况（需要有WordPress官网账号，注册很简单的），以帮助插件开发者完善插件，同时也让其他用户在选择插件时心里更有底。

原创编著/编译，转载请给面子： 转载自扯Web，本文原始链接: 为WordPress插件兼容性测试出一份力

继续阅读：Feed Pauser: 延迟日志进入feed的WordPress插件WordPress Beta Tester：让你的WP与时俱进的插件尘埃落定：关于2009年度开源CMS大奖全世界的WordPress用户们，联合起来！

觉得文章靠谱？欢迎发表评论！ &#124;
本文永久链接 
&#124;作者: Ven  &#124; © 扯Web, 2009 版权所有 
]]></description>
			<content:encoded><![CDATA[<p>WordPress官方网站前段时间推出了Plugin Compatibility，一个插件兼容性测试的小应用。在每个插件主页的边栏，都会显示Compatibility表单，里面可以查看该插件的不同版本在WordPress各个版本下的兼容性情况。</p>
<div id="attachment_149" class="wp-caption alignnone" style="width: 264px"><a href="http://cheweb.org/wp-content/uploads/2009/11/2009-11-10_115659.jpg"><img class="size-full wp-image-149" title="2009-11-10_115659" src="http://cheweb.org/index.php?feedimage=wp-content/uploads/2009/11/2009-11-10_115659.jpg" alt="Plugin Compatibility 界面" width="254" height="277" /></a><p class="wp-caption-text">Plugin Compatibility 界面</p></div>
<p>兼容性数据都是由用户人工提交的，希望大家在使用插件之余，也能花点时间去提交下自己的兼容情况（需要有WordPress官网账号，注册很简单的），以帮助插件开发者完善插件，同时也让其他用户在选择插件时心里更有底。
<div style="margin-top: 15px;">
<p><strong>原创编著/编译，转载请给面子：</strong> 转载自<a href="http://cheweb.org/">扯Web</a>，<strong>本文原始链接:</strong> <a href="http://cheweb.org/121.html">为WordPress插件兼容性测试出一份力</a></p>
</div>
<h3  class="related_post_title">继续阅读：</h3><ul class="related_post"><li><a href="http://cheweb.org/290.html" title="Feed Pauser: 延迟日志进入feed的WordPress插件">Feed Pauser: 延迟日志进入feed的WordPress插件</a></li><li><a href="http://cheweb.org/282.html" title="WordPress Beta Tester：让你的WP与时俱进的插件">WordPress Beta Tester：让你的WP与时俱进的插件</a></li><li><a href="http://cheweb.org/220.html" title="尘埃落定：关于2009年度开源CMS大奖">尘埃落定：关于2009年度开源CMS大奖</a></li><li><a href="http://cheweb.org/101.html" title="全世界的WordPress用户们，联合起来！">全世界的WordPress用户们，联合起来！</a></li></ul><hr />
<p><small>
<a href="http://cheweb.org/121.html#comments">觉得文章靠谱？欢迎发表评论！</a> |
<a href="http://cheweb.org/121.html">本文永久链接</a> 
|作者: Ven  | © <a href="http://cheweb.org">扯Web</a>, 2009 版权所有 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://cheweb.org/121.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP4何时会死？</title>
		<link>http://cheweb.org/49.html</link>
		<comments>http://cheweb.org/49.html#comments</comments>
		<pubDate>Wed, 28 Oct 2009 01:54:06 +0000</pubDate>
		<dc:creator>Ven</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://cheweb.org/?p=49</guid>
		<description><![CDATA[
PHP4 何时会死？要回答这个问题，先得明确 PHP4 应不应该死。从 PHP5 开始，大量强化面向对象编程的功能和特性被加入到PHP中，OOP编程变得更加容易和高效；一些函数的性能得到了优化；增加了如 XML 处理等符合时代潮流的函数系列；修改了部分设置以强化安全性。从发展的眼光看，新的版本淘汰旧版本是必然趋势。
PHP 官方在2007年的最后一天正式停止对PHP4的更新，但PHP4并没有立刻死亡：许多升级缓慢的服务器、尤其是虚拟主机提供商仍然保留着 PHP4。
我们无法统计有多少服务器仍然在运行PHP4，但是在对ChkVersion上46个基于PHP的建站程序的最新稳定版本做了一番调查后，发现其中竟然有30个程序仍然支持PHP4，占到总数的65%。其中不乏耳熟能详的著名建站软件，如WordPress（最低支持到4.3）、Drupal（最低支持到4.3.5）、Joomla（最低支持到4.3.10）、Dizcuz（最低支持到4.1）。
而在对6个主流PHP开发框架（Zend Framework, CakePHP, Symfony, QeePHP, Yii, CodeIgniter）的调查中，其中也有三分之一的框架继续支持PHP4（CakePHP和CodeIgniter），这对于追求OOP思想和MVC结构的框架来说基本上是难以容忍的。
大量的建站程序及脚本为了顾及PHP4而无法放手去享受PHP5带来的性能提升。他们之所以不愿抛弃PHP4，正是因为大量用户仍然在使用运行着PHP4的主机；而服务器管理员为了顾及老用户的脚本稳定性（PHP5和PHP4部分不兼容），则采取保守态度不升级。服务器和脚本之间的博弈，更是加重阻碍了PHP4的死亡。
当初PHP3到PHP4的换代为何进展的很顺利？我想这和当时PHP并不非常流行有关。而随着PHP逐渐成为第一大Web脚本语言，升级问题越来越牵一发而动全身。那么PHP4究竟何时会死？我相信在不短的一段时间内，至少3年以内它仍然会时常出现在我们的视野中。也许正如麦克阿瑟所说，“老兵永远不死，只会慢慢凋零”。

原创编著/编译，转载请给面子： 转载自扯Web，本文原始链接: PHP4何时会死？

继续阅读：选择网站主机时必须注意的20个问题phpMyAdmin开发人员访谈&#8212;&#8212;4个人支持整个项目10个不常见却很有用的PHP函数

觉得文章靠谱？欢迎发表评论！ &#124;
本文永久链接 
&#124;作者: Ven  &#124; © 扯Web, 2009 版权所有 
]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-51" title="goPHP5-283x100" src="http://cheweb.org/index.php?feedimage=wp-content/uploads/2009/10/goPHP5-283x100.png" alt="goPHP5-283x100" width="283" height="100" /></p>
<p>PHP4 何时会死？要回答这个问题，先得明确 PHP4 应不应该死。从 PHP5 开始，大量强化面向对象编程的功能和特性被加入到PHP中，OOP编程变得更加容易和高效；一些函数的性能得到了优化；增加了如 XML 处理等符合时代潮流的函数系列；修改了部分设置以强化安全性。从发展的眼光看，新的版本淘汰旧版本是<a href="http://cheweb.org/49.html">必然趋势</a>。</p>
<p>PHP 官方在2007年的最后一天正式停止对PHP4的更新，但PHP4并没有立刻死亡：许多升级缓慢的服务器、尤其是虚拟主机提供商仍然保留着 PHP4。</p>
<p>我们无法统计有多少服务器仍然在运行PHP4，但是在对<a href="http://chkversion.com">ChkVersion</a>上46个基于PHP的建站程序的最新稳定版本做了一番调查后，发现其中竟然有30个程序仍然支持PHP4，占到总数的65%。其中不乏耳熟能详的著名建站软件，如WordPress（最低支持到4.3）、Drupal（最低支持到4.3.5）、Joomla（最低支持到4.3.10）、Dizcuz（最低支持到4.1）。</p>
<p><span id="more-49"></span>而在对6个主流PHP开发框架（Zend Framework, CakePHP, Symfony, QeePHP, Yii, CodeIgniter）的调查中，其中也有三分之一的框架继续支持PHP4（CakePHP和CodeIgniter），这对于追求OOP思想和MVC结构的框架来说基本上是难以容忍的。</p>
<p>大量的建站程序及脚本为了顾及PHP4而无法放手去享受PHP5带来的性能提升。他们之所以不愿抛弃PHP4，正是因为大量用户仍然在使用运行着PHP4的主机；而服务器管理员为了顾及老用户的脚本稳定性（PHP5和PHP4部分不兼容），则采取保守态度不升级。服务器和脚本之间的博弈，更是加重阻碍了PHP4的死亡。</p>
<p>当初PHP3到PHP4的换代为何进展的很顺利？我想这和当时PHP并不非常流行有关。而随着PHP逐渐成为第一大Web脚本语言，升级问题越来越牵一发而动全身。那么PHP4究竟何时会死？我相信在不短的一段时间内，至少3年以内它仍然会时常出现在我们的视野中。也许正如麦克阿瑟所说，“老兵永远不死，只会慢慢凋零”。
<div style="margin-top: 15px;">
<p><strong>原创编著/编译，转载请给面子：</strong> 转载自<a href="http://cheweb.org/">扯Web</a>，<strong>本文原始链接:</strong> <a href="http://cheweb.org/49.html">PHP4何时会死？</a></p>
</div>
<h3  class="related_post_title">继续阅读：</h3><ul class="related_post"><li><a href="http://cheweb.org/535.html" title="选择网站主机时必须注意的20个问题">选择网站主机时必须注意的20个问题</a></li><li><a href="http://cheweb.org/438.html" title="phpMyAdmin开发人员访谈&mdash;&mdash;4个人支持整个项目">phpMyAdmin开发人员访谈&mdash;&mdash;4个人支持整个项目</a></li><li><a href="http://cheweb.org/298.html" title="10个不常见却很有用的PHP函数">10个不常见却很有用的PHP函数</a></li></ul><hr />
<p><small>
<a href="http://cheweb.org/49.html#comments">觉得文章靠谱？欢迎发表评论！</a> |
<a href="http://cheweb.org/49.html">本文永久链接</a> 
|作者: Ven  | © <a href="http://cheweb.org">扯Web</a>, 2009 版权所有 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://cheweb.org/49.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
