<?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>刘华栋的博客 &#187; PHP/Mysql</title>
	<atom:link href="http://www.liuhuadong.com/archives/tag/phpmysql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liuhuadong.com</link>
	<description>Thinking different</description>
	<lastBuildDate>Mon, 06 Feb 2012 09:14:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>php如何判断用户通过手机wap访问还是电脑直接访问</title>
		<link>http://www.liuhuadong.com/archives/427/index.html</link>
		<comments>http://www.liuhuadong.com/archives/427/index.html#comments</comments>
		<pubDate>Wed, 22 Apr 2009 02:11:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP/Mysql]]></category>
		<category><![CDATA[互联网]]></category>
		<category><![CDATA[wap]]></category>
		<category><![CDATA[判断手机访问]]></category>
		<category><![CDATA[手机]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=427</guid>
		<description><![CDATA[最近做一个手机查询系统，自然就牵扯到了此问题，那我就根据对wap的认识浅谈下通过php判断用户访问方式是通过wap访问还是电脑直接访问。 首先说最根本的解决方法： 手机访问时，会附带发送user-agent信息，这个信息里面会有手机号码信息，那么如果能取得手机号码，则可以肯定是通过手机wap访问的。但是目前中国移动已经屏蔽了user-agent信息，所以获取不到手机号码。有关系的朋友可以联系移动公司，把wap网站服务器的ip提交给中国移动，加入白名单后即可取得ua信息。目前中国联通可以直接取到手机号，对联通用户此方案可完美实施。 接下来说我的解决方案： 手机访问，原理是手机通过移动公司的代理服务器进行的访问。那么我们就可以理解是一台普通电脑使用了代理服务器。当手机通过代理服务器访问的时候，http头信息会毫无疑问的包含一个信息：via。这个信息提供了有价值的判断信息。 例如河南移动取得的via信息是： http/1.1 hazz-b-gw001-wap(infox-wisg, huawei technologies) 河南联通的via信息是： zxwap gateway,zte technologies 其他各省的http头信息和这个大同小异，判断是否手机访问的方案就出来了：获取http的via信息字符串看是否包含wap字符，如果有则是通过手机访问。这样做的结果是没有人能伪造手机访问，判断绝对准确。自然，这样对于网上流行的手机wap模拟器也做了屏蔽&#8212;-从根本上屏蔽。 操作代码也很简单： // check if wap by xhatfunction check_wap() {&#160;&#160; &#160;return stristr($_SERVER['HTTP_VIA'],&#34;wap&#34;) ? true : false;}// check over 从我查阅的资料来看，目前此方法应该是迄今互联网上准确率最高、最简单的判断手机访问方法。]]></description>
			<content:encoded><![CDATA[<p>最近做一个手机查询系统，自然就牵扯到了此问题，那我就根据对wap的认识浅谈下通过php判断用户访问方式是通过wap访问还是电脑直接访问。<br />
首先说最根本的解决方法：<br />
手机访问时，会附带发送user-agent信息，这个信息里面会有手机号码信息，那么如果能取得手机号码，则可以肯定是通过手机wap访问的。但是目前中国移动已经屏蔽了user-agent信息，所以获取不到手机号码。有关系的朋友可以联系移动公司，把wap网站服务器的ip提交给中国移动，加入白名单后即可取得ua信息。目前中国联通可以直接取到手机号，对联通用户此方案可完美实施。<br />
接下来说我的解决方案：<br />
手机访问，原理是手机通过移动公司的代理服务器进行的访问。那么我们就可以理解是一台普通电脑使用了代理服务器。当手机通过代理服务器访问的时候，http头信息会毫无疑问的包含一个信息：via。这个信息提供了有价值的判断信息。<br />
例如河南移动取得的via信息是：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">http</span><span style="color: #8b0000;">/</span><span style="color: Red;">1.1 hazz-b-gw001-wap(infox-wisg, huawei technologies)</span></div></div>
<p>河南联通的via信息是：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">zxwap</span><span style="color: Gray;"> </span><span style="color: Blue;">gateway</span><span style="color: Gray;">,</span><span style="color: Blue;">zte</span><span style="color: Gray;"> </span><span style="color: Blue;">technologies</span></div></div>
<p>其他各省的http头信息和这个大同小异，判断是否手机访问的方案就出来了：获取http的via信息字符串看是否包含wap字符，如果有则是通过手机访问。这样做的结果是没有人能伪造手机访问，判断绝对准确。自然，这样对于网上流行的手机wap模拟器也做了屏蔽&#8212;-从根本上屏蔽。<br />
操作代码也很简单：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: #ffa500;">// check if wap by xhat</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">check_wap</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Blue;">stristr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_SERVER</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">HTTP_VIA</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">wap</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> ? </span><span style="color: Green;">true</span><span style="color: Gray;"> : </span><span style="color: Green;">false</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">// check over</span><span style="color: Gray;"></span></div></div>
<p>从我查阅的资料来看，目前此方法应该是迄今互联网上准确率最高、最简单的判断手机访问方法。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/427/index.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>linux下如何进行释放内存</title>
		<link>http://www.liuhuadong.com/archives/119/index.html</link>
		<comments>http://www.liuhuadong.com/archives/119/index.html#comments</comments>
		<pubDate>Sat, 23 Feb 2008 17:20:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[caches]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[PHP/Mysql]]></category>
		<category><![CDATA[内存释放]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/archives/119/index.html</guid>
		<description><![CDATA[这一阵子对linux学习不少，因为遇到了不少的问题&#8212;-都是一个相对相互的过程。所以我在哪里好像写过一句话：我们无非是遇到些问题，然后解决它罢了。 通过对discuz的二次开发，渐渐领悟了不少mvc的思想，虽然有质的飞跃，但我肯定这只是开始，还有很多东西需要学习和探讨才能明白。打算开始漫长的zf之旅。谁再说php没有开发模式，那只是大部分php programer对开发模式的了解甚少罢了，毕竟平凡的占多数。 谈谈主题：linux下如何释放内存？ 这一段调试php程序总是见服务器内存占用98%左右，很少下降，心里就范迷惑，莫非内存太小不够用么，服务器可是4G内存啊，两个4核cpu怎么可能出现这么高的内存占用？后来查了一下，发现linux与win的内存方法使用相差很大。windows下内存是使用多少就拿来多少内存用；linux是先把内存尽可能占用，然后再重新分配给各个应用，分配完后剩下的内存用来存放各种缓存，例如grep这样的查询（我正迷惑前几天的大目录grep速度超快）就可以利用内存缓存大大提高系统文件交换速度。这样以来就豁然开朗了。完全不用担心内存被占用完。 如果你很无聊的想释放内存，可以使用这个命令： echo 1 &#62; /proc/sys/vm/drop_caches 对比下释放前后内存占用情况，很爽哦~。释放前最好使用下sync命令以防数据丢失。]]></description>
			<content:encoded><![CDATA[<p>这一阵子对linux学习不少，因为遇到了不少的问题&#8212;-都是一个相对相互的过程。所以我在哪里好像写过一句话：我们无非是遇到些问题，然后解决它罢了。</p>
<p>通过对discuz的二次开发，渐渐领悟了不少mvc的思想，虽然有质的飞跃，但我肯定这只是开始，还有很多东西需要学习和探讨才能明白。打算开始漫长的zf之旅。谁再说php没有开发模式，那只是大部分php programer对开发模式的了解甚少罢了，毕竟平凡的占多数。</p>
<p>谈谈主题：linux下如何释放内存？</p>
<p>这一段调试php程序总是见服务器内存占用98%左右，很少下降，心里就范迷惑，莫非内存太小不够用么，服务器可是4G内存啊，两个4核cpu怎么可能出现这么高的内存占用？后来查了一下，发现linux与win的内存方法使用相差很大。windows下内存是使用多少就拿来多少内存用；linux是先把内存尽可能占用，然后再重新分配给各个应用，分配完后剩下的内存用来存放各种缓存，例如grep这样的查询（我正迷惑前几天的大目录grep速度超快）就可以利用内存缓存大大提高系统文件交换速度。这样以来就豁然开朗了。完全不用担心内存被占用完。</p>
<p>如果你很无聊的想释放内存，可以使用这个命令：</p>
<p>echo 1 &gt; /proc/sys/vm/drop_caches</p>
<p>对比下释放前后内存占用情况，很爽哦~。释放前最好使用下sync命令以防数据丢失。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/119/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

