<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>花荣老师的博客</title>
	<link>http://www.masalife.com</link>
	<description>没有什么能够阻挡，我对自由的向往\n天马行空的生涯，我的心了无牵挂。(PS:如果您能看到这段话，请使用chrome浏览器)</description>
	<lastBuildDate>Wed, 08 Sep 2010 08:57:49 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.0.1" -->

	<item>
		<title>mysql的一个小技巧：Shadow Table</title>
		<description><![CDATA[假设我们有一张表，用来记录广告点击情况的。每天的数据大概100万行左右。 在每天0:00的时候，要对这张表的数据进行分析，然后归档数据，再清空整张表。 我们以前的做法就是写个cron，0点开始执行，大概执行3-5分钟即可完毕。 注意：在这个过程中，仍然不断有新数据会被写入。 虽然这种办法统计到的结果包含一些0点之后的数据，但也没有大碍,整体看来还是可以接受的。 今天看了一篇文章，非常佩服作者的想法： 原文地址：http://tech.ovaistariq.net/2010/06/the-shadow-table-trick 操作步骤如下： 1 创建一个新的table，称之为shadow table， 它和原表有完全相同的结构。 2 使用RENAME TABLE语句，把这二张表交换。shadow table变成线上的表，里面完全没有数据，线上的表变成shadow table，里面包含昨天的所有数据。 3 在新的shadow table上面做统计，归档，清空操作。 举个例子吧： 线上的表，用来记录页面访问的。 CREATE TABLE `hits` &#40; `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `post_id` bigint&#40;20&#41; unsigned NOT NULL, KEY `pp_postid_ts` &#40;`post_id`,`ts`&#41; &#41; ENGINE=MyISAM; 创建一个shadow table: CREATE TABLE `hits_shadow` LIKE `hits`; 交换两张表： RENAME TABLE hits TO hits_temp, hits_shadow TO hits, hits_temp TO hits_shadow; 然后就可以在hits_shadow上面做统计了。 rename table的速度实在是太快了，太爽了，完美。 使用这种办法之后，我们的数据统计更加精确了。 Related posts:drupal6 hook_schema中的自增字段 mysql Table Locking Issues mysql索引 之 组合索引与字段顺序 mysql存储过程&#8211;自动删除长期不活动的连接 google map 与 table


Related posts:<ol><li><a href='http://www.masalife.com/archives/382' rel='bookmark' title='Permanent Link: drupal6 hook_schema中的自增字段'>drupal6 hook_schema中的自增字段</a></li>
<li><a href='http://www.masalife.com/archives/184' rel='bookmark' title='Permanent Link: mysql Table Locking Issues'>mysql Table Locking Issues</a></li>
<li><a href='http://www.masalife.com/archives/1080' rel='bookmark' title='Permanent Link: mysql索引 之 组合索引与字段顺序'>mysql索引 之 组合索引与字段顺序</a></li>
<li><a href='http://www.masalife.com/archives/974' rel='bookmark' title='Permanent Link: mysql存储过程&#8211;自动删除长期不活动的连接'>mysql存储过程&#8211;自动删除长期不活动的连接</a></li>
<li><a href='http://www.masalife.com/archives/276' rel='bookmark' title='Permanent Link: google map 与 table'>google map 与 table</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1085</link>
			</item>
	<item>
		<title>mysql索引 之 组合索引与字段顺序</title>
		<description><![CDATA[原文http://tech.ovaistariq.net/2010/05/mysql-indexes-multi-column-indexes-and-order-of-columns 很多时候，我们在mysql中创建了索引，但是某些查询还是很慢，根本就没有使用到索引！ 一般来说，可能是某些字段没有创建索引，或者是组合索引中字段的顺序与查询语句中字段的顺序不符。 看下面的例子： 假设有一张订单表(orders)，包含order_id和product_id二个字段。 一共有31条数据。符合下面语句的数据有5条。 执行下面的sql语句： select product_id from orders where order_id in &#40;123, 312, 223, 132, 224&#41;; 这条语句要mysql去根据order_id进行搜索，然后返回匹配记录中的product_id。 所以组合索引应该按照以下的顺序创建： create index orderid_productid on orders&#40;order_id, product_id&#41; mysql&#62; explain select product_id from orders where order_id in &#40;123, 312, 223, 132, 224&#41; \G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: orders type: range possible_keys: orderid_productid key: orderid_productid key_len: 5 ref: NULL rows: 5 Extra: Using where; Using index 1 row in set &#40;0.00 sec&#41; 可以看到，这个组合索引被用到了,扫描的范围也很小，只有5行。 如果把组合索引的顺序换成product_id, order_id的话， mysql就会去索引中搜索 *123 *312 *223 *132 *224，必然会有些慢了。 mysql&#62; create index orderid_productid on orders&#40;product_id, order_id&#41;; Query OK, 31 rows affected &#40;0.01 sec&#41; Records: 31&#8230;


Related posts:<ol><li><a href='http://www.masalife.com/archives/974' rel='bookmark' title='Permanent Link: mysql存储过程&#8211;自动删除长期不活动的连接'>mysql存储过程&#8211;自动删除长期不活动的连接</a></li>
<li><a href='http://www.masalife.com/archives/206' rel='bookmark' title='Permanent Link: mysql配置中的concurrent_insert与low-priority-updates'>mysql配置中的concurrent_insert与low-priority-updates</a></li>
<li><a href='http://www.masalife.com/archives/1009' rel='bookmark' title='Permanent Link: 恢复mysql数据的另外一种方法&#8211;mysql replication 主从数据库'>恢复mysql数据的另外一种方法&#8211;mysql replication 主从数据库</a></li>
<li><a href='http://www.masalife.com/archives/123' rel='bookmark' title='Permanent Link: discuz6升级到7之后，xspace无法进入个人空间的解决办法'>discuz6升级到7之后，xspace无法进入个人空间的解决办法</a></li>
<li><a href='http://www.masalife.com/archives/184' rel='bookmark' title='Permanent Link: mysql Table Locking Issues'>mysql Table Locking Issues</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1080</link>
			</item>
	<item>
		<title>PHP垃圾回收机制 之 如何进行垃圾回收</title>
		<description><![CDATA[原文地址： http://derickrethans.nl/collecting-garbage-cleaning-up.html 前面讲过，关于PHP垃圾回收机制，原作者写了三篇文章， 第一篇讲的是 php垃圾回收机制之变量的处理。 这是第二篇，主要讲PHP5.3如何进行垃圾回收。 在上一篇里面，我们遇到了 circular reference的问题，导致了内存泄露。 本文主要来解决这个问题。 来回忆一下吧: $a = array&#40;&#34;one&#34;&#41;; $a&#91;&#93; = &#38;$a; unset&#40;$a&#41;; 一直以来，reference counting memory mechanisms 引用计数机制都存在这个问题， 直到2007年，David F. Bacon和V.T. Rajan 写了一篇论文&#8221;Concurrent Cycle Collection in Reference Counted Systems&#8220;，解决了这个问题。 于是Derick Rethans以及某些人一起，按照这篇论文，在PHP 5.3版本源代码里面解决了circular reference导致内存泄露的问题。 下面简单讲解一下这套算法： 首先，介绍一下背景知识： 如果zval容器的refcount增加了，说明有变量(符号)正在使用它，所以它肯定不是垃圾。 如果zval容器的refcount减少到0了，这个容器会被删除掉，空间被释放出来。 综上所述，只有在refcount减少到一个非零值的时候，才有可能存在垃圾回收的问题。 如果上面讲的知识您不太明白，那么请去复习一下关于垃圾回收的第一篇文章：php垃圾回收机制之变量的处理。 其次，在垃圾回收过程中，怎样来分辨哪些zval容器是需要回收的垃圾呢？ 办法就是：让数组所有元素的zval容器的refcount减一。如果最终数组指向的zval的refcount值为0，那么此数组就是垃圾。正常情况下，最终的refcount应该为1。 挺难理解的吧，看图： 花荣的说明：图中的a符号，我也不知道是怎样来的。。。。。。反正它不是原来的数组a了。 就假设它是另外一个新的变量好了，它指向array(0)，因此array(0)的zval的refcount从1变成了2。 另外，所有zval的默认颜色都是黑色。 如果每当refcount减少的时候，都去完成一次垃圾回收过程，未免效率不高。 此算法准备了一个root buffer（也就是一个缓冲区），当一个zval容器的refcount减少到一个非零值的时候， 就把这个zval扔到root buffer里面，然后标记此zval为粉色。 同时还要保证，每个zval只会被扔进来一次~~。 使用了颜色之后，确实方便，只扔黑色的zval进来就可以了。 只有当root buffer被充满的时候（大概需要一万个zval容器才能充满它）， 垃圾回收才开始启动。如上图中的A步骤所示。 在上图中的B步骤里，垃圾回收开始启动， 对于root buffer中的每一个zval， 都要使用深度优先的搜索算法（depth-first search），寻找它的所有元素的zval(在这个例子里面，就是数组的所有元素）， 并且把元素的zval的refcount减一，然后标记被减一的zval为灰色。 在C步骤里面，依然是对于root buffer中的每一个zval， 都使用深度优先的搜索算法，寻找它的所有元素的zval。 如果元素的zval的refcount是0，就把这个zval标记为白色(在上图中以蓝色表示)。 如果元素的zval的refcount大于0，就让它以及它的所有子元素的zval的refcount加一，恢复原值，标记为黑色。这一步使用的仍然是深度优先算法。 步骤D，清空root buffer。同时把所有标记为白色的zval删除掉，释放空间。 PS：不知道我讲明白没有，反正当时我是看了好久才明白过来。 在此感谢 http://blog.csdn.net/phpkernel/archive/2010/07/14/5734743.aspx 此文作者。他从源代码的角度对GC进行了分析。有一定的可取之处。 结合原来的数组a，我们再来分析一下这个过程。 为了方便，我们把数组的zval命名为zval_array_a。把数组元素0的zval命名为zval_array_0。 unset($a)之后， 数组a指向的zval的refcount减一，值为1，于是它就被扔到了root buffer中,被标记为粉色。 这就是Step A。 Step A里面的符号a，仍然假设它是一个其它变量好了。。与原来的数组a没有任何关系。 假设这个时候，root buffer满了，垃圾回收开始启动。 进入步骤B。对root buffer中的每个zval进行遍历， 假设遍历到zval_array_a了。 使用深度优先算法，寻找zval_array_a的所有元素的zval, 找到了二个zval，一个是zval_array_0，另一个是zval_array_a。 zval_array_0的refcount是2， zval_array_a的refcount是1。 对其refcount进行减一, zval_array_0的refcount变为1， zval_array_a的refcount变为0。 最后把zval_array_a和zval_array_0标记为灰色。步骤B完成。 进入步骤C，对root&#8230;


Related posts:<ol><li><a href='http://www.masalife.com/archives/984' rel='bookmark' title='Permanent Link: PHP垃圾回收机制 之 变量的处理'>PHP垃圾回收机制 之 变量的处理</a></li>
<li><a href='http://www.masalife.com/archives/48' rel='bookmark' title='Permanent Link: GOOGLE map 最常用API及示例'>GOOGLE map 最常用API及示例</a></li>
<li><a href='http://www.masalife.com/archives/440' rel='bookmark' title='Permanent Link: php操作excel'>php操作excel</a></li>
<li><a href='http://www.masalife.com/archives/761' rel='bookmark' title='Permanent Link: 以简单的GIF动画，来解释复杂的机械。Complicated Mechanisms Explained in simple animations'>以简单的GIF动画，来解释复杂的机械。Complicated Mechanisms Explained in simple animations</a></li>
<li><a href='http://www.masalife.com/archives/289' rel='bookmark' title='Permanent Link: Confluence 3.1.2 版破解'>Confluence 3.1.2 版破解</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1074</link>
			</item>
	<item>
		<title>有史以来最有想象力的检测IE浏览器版本的Javascript代码</title>
		<description><![CDATA[原文：http://james.padolsey.com/javascript/detect-ie-in-js-using-conditional-comments/ 虽然已经有很多JS代码可以完成浏览器版本检测的功能， 但是显然这位程序员写的代码是最有想象力的。 请看代码： var ie = &#40;function&#40;&#41;&#123; var undef, v = 3, div = document.createElement&#40;&#34;div&#34;&#41;; &#160; while &#40; div.innerHTML = &#34;&#60;!--[if gt IE &#34;+&#40;++v&#41;+&#34;]&#62;&#60;i&#62;&#60;/i&#62;&#60;![endif]--&#62;&#34;, div.getElementsByTagName&#40;&#34;i&#34;&#41;&#91;0&#93; &#41;; &#160; return v&#62; 4 ? v : undef; &#125;&#40;&#41;&#41;; 使用方法： //非IE浏览器 if &#40;ie === undefined&#41; &#160; //IE 7 if &#40;ie === 7&#41; &#160; //IE if &#40;ie&#41; &#160; //IE 7 8 9 if &#40;ie &#62; 6&#41; 后来作者又对代码进行了改进： var ie = &#40;function&#40;&#41;&#123; &#160; var undef, v = 3, div = document.createElement&#40;&#34;div&#34;&#41;, all = div.getElementsByTagName&#40;&#34;i&#34;&#41;; &#160; while &#40; div.innerHTML = &#34;&#60;!--[if gt IE &#34; + &#40;++v&#41; + &#34;]&#62;&#60;i&#62;&#60;/i&#62;&#60;![endif]--&#62;&#34;, all&#91;0&#93; &#41;; &#160; return v &#62; 4 ?&#8230;


Related posts:<ol><li><a href='http://www.masalife.com/archives/371' rel='bookmark' title='Permanent Link: document.getElementsByName在IE中的问题'>document.getElementsByName在IE中的问题</a></li>
<li><a href='http://www.masalife.com/about' rel='bookmark' title='Permanent Link: 关于花荣老师'>关于花荣老师</a></li>
<li><a href='http://www.masalife.com/archives/248' rel='bookmark' title='Permanent Link: 在discuz中禁止用户复制贴子'>在discuz中禁止用户复制贴子</a></li>
<li><a href='http://www.masalife.com/archives/1052' rel='bookmark' title='Permanent Link: HTML5实现像Gmail一样拖动下载附件'>HTML5实现像Gmail一样拖动下载附件</a></li>
<li><a href='http://www.masalife.com/archives/651' rel='bookmark' title='Permanent Link: supesite 发文时加入验证码，防自动发贴机，防自动发贴机器人'>supesite 发文时加入验证码，防自动发贴机，防自动发贴机器人</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1070</link>
			</item>
	<item>
		<title>HTML5实现像Gmail一样拖动下载附件</title>
		<description><![CDATA[原文：http://www.thecssninja.com/javascript/gmail-dragout 直接看在线演示吧： 新窗口打开演示 拖动那几个文件到你的桌面，看会不会自动保存好？ 和Gmail的拖动附件差不多效果的吧。 关键代码： &#160; &#60;a href='/wp-content/uploads/2010/09/a.pdf' id=&#34;dragout&#34; draggable=&#34;true&#34; data-downloadurl=&#34;application/pdf:masalife.pdf:http://www.masalife.com/wp-content/uploads/2010/09/a.pdf&#34;&#62;&#91;PDF file&#93;&#60;/a&#62; &#160; &#60;script&#62; var file = document.getElementById&#40;&#34;dragout&#34;&#41;; &#160; fileDetails = file.getAttribute&#40;&#34;data-downloadurl&#34;&#41;; &#160; file.addEventListener&#40;&#34;dragstart&#34;,function&#40;evt&#41;&#123; evt.dataTransfer.setData&#40;&#34;DownloadURL&#34;,fileDetails&#41;; &#125;,false&#41;; &#60;/script&#62; 原理： dragout是页面上的一个&#60;a&#62;元素, draggable=&#8221;true&#8221;。 然后监听它的dragstart事件。 在此事件中，传递该文件的下载信息给DownloadURL， 也就是&#60;a&#62;的 data-downloadurl属性。 它分为三个部分； mime type 保存之后的文件名(支持中文) 文件下载地址 。 值得一提的是，文件下载地址URL必须和页面的URL在同一个域里面。 Related posts:HTML5实现像Gmail一样拖动下载附件&#8211;演示 google站内搜索代码 discuz中添加新的论坛动态 在freebsd平台上安装并配置vim,lftp,rsyncd php操作excel


Related posts:<ol><li><a href='http://www.masalife.com/gmail-dragout' rel='bookmark' title='Permanent Link: HTML5实现像Gmail一样拖动下载附件&#8211;演示'>HTML5实现像Gmail一样拖动下载附件&#8211;演示</a></li>
<li><a href='http://www.masalife.com/archives/243' rel='bookmark' title='Permanent Link: google站内搜索代码'>google站内搜索代码</a></li>
<li><a href='http://www.masalife.com/archives/412' rel='bookmark' title='Permanent Link: discuz中添加新的论坛动态'>discuz中添加新的论坛动态</a></li>
<li><a href='http://www.masalife.com/archives/167' rel='bookmark' title='Permanent Link: 在freebsd平台上安装并配置vim,lftp,rsyncd'>在freebsd平台上安装并配置vim,lftp,rsyncd</a></li>
<li><a href='http://www.masalife.com/archives/440' rel='bookmark' title='Permanent Link: php操作excel'>php操作excel</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1052</link>
			</item>
	<item>
		<title>[漫画]匿名调查</title>
		<description><![CDATA[想到前几天在郑渊洁BLOG上看到的一段话： 今年发生在一小学的真事：班主任要求同学匿名写出对她的感受，并保证不管怎么写她都不会生气。两位同学写了负面的。班主任阅后大怒，叫两人投案自首。全班无人吭声。班主任冷笑着念歌颂她的文章，念完一篇让文主拿走一篇。《风声》般的筛查。最后两负面文的主人暴露，从此噩运开始。 http://blog.sina.com.cn/s/blog_473abae60100m5f6.html 所谓的匿名都是骗人的。 包括zju freecity的匿名版。技术人员绝对可以查到一切。 Related posts:新浪博客robots.txt只允许百度抓取，屏蔽其它spider 使用php PHPMailer SMTP Gmail来发送邮件 discuz6升级到7之后，xspace无法进入个人空间的解决办法 哆啦A梦告诉你目前各家浏览器对 CSS3 的支持状况 apache charset字符集设置导致的网页乱码 转载请注明出处。 © 花荣 for 花荣老师的博客, 2010. &#124; Permalink &#124; One comment &#124; Add to del.icio.us Post tags: 漫画 IT大腕交流群： 110443867 投稿邮箱： huarong@masalife.com 或者直接联系QQ： 190890101


Related posts:<ol><li><a href='http://www.masalife.com/archives/755' rel='bookmark' title='Permanent Link: 新浪博客robots.txt只允许百度抓取，屏蔽其它spider'>新浪博客robots.txt只允许百度抓取，屏蔽其它spider</a></li>
<li><a href='http://www.masalife.com/archives/980' rel='bookmark' title='Permanent Link: 使用php PHPMailer SMTP Gmail来发送邮件'>使用php PHPMailer SMTP Gmail来发送邮件</a></li>
<li><a href='http://www.masalife.com/archives/123' rel='bookmark' title='Permanent Link: discuz6升级到7之后，xspace无法进入个人空间的解决办法'>discuz6升级到7之后，xspace无法进入个人空间的解决办法</a></li>
<li><a href='http://www.masalife.com/archives/483' rel='bookmark' title='Permanent Link: 哆啦A梦告诉你目前各家浏览器对 CSS3 的支持状况'>哆啦A梦告诉你目前各家浏览器对 CSS3 的支持状况</a></li>
<li><a href='http://www.masalife.com/archives/486' rel='bookmark' title='Permanent Link: apache charset字符集设置导致的网页乱码'>apache charset字符集设置导致的网页乱码</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1041</link>
			</item>
	<item>
		<title>mysql官方文档放弃CHM格式，改用EPUB格式。</title>
		<description><![CDATA[原文地址： http://blogs.sun.com/mysqlf/entry/farewell_chm_hello_epub 很长一段时间以来，mysql官方的文档都是CHM格式的。 可以在 http://dev.mysql.com/doc 下载到。 CHM(Complied HTML Help)1997年就在windows上做为标准的帮助文件出现了。 那时应该是win95吧？或者win98? win98se? 到现在已经10多年了，这项技术已经过时了。 到了Windows Vista，微软使用了AP Help，可惜好景不长，它随着vista一起没落了。 后来人们更多地使用HTML或者PDF格式的帮助文档。 编译一个CHM格式的文档，是一件比较吃力的事情。 这里不谈细节。 最大的问题就是编译之后，没有办法验证编译出的CHM文档是否正确， 只能人工一页一页地去检查。 所以呀，这项技术已经过时了。 MYSQL5.1的文档包含160万个单词&#8230;编译成CHM文档，非常痛苦，经常会编译出错。 所以官方几个月之前就决定，不再提供CHM格式的帮助文档。 虽然在下载页面还可以看到CHM的链接，但是点击之后，就是404了。 取而代之的就是EPUB格式的文档，15M左右。 EPUB类似于PDF，open standard format，可以在pc, mobile 上面阅读。 平时我们都用 Firefox的一个扩展epubreader 来阅读EPUB文档。 文档的加载速度还是蛮快的,而且文字颜色还可以自定义。 Related posts:您的php应用存在Y2K38 BUG吗？ 恢复mysql数据的另外一种方法&#8211;mysql replication 主从数据库 mysql Table Locking Issues jira与mysql的整合 mysql索引 之 组合索引与字段顺序


Related posts:<ol><li><a href='http://www.masalife.com/archives/819' rel='bookmark' title='Permanent Link: 您的php应用存在Y2K38 BUG吗？'>您的php应用存在Y2K38 BUG吗？</a></li>
<li><a href='http://www.masalife.com/archives/1009' rel='bookmark' title='Permanent Link: 恢复mysql数据的另外一种方法&#8211;mysql replication 主从数据库'>恢复mysql数据的另外一种方法&#8211;mysql replication 主从数据库</a></li>
<li><a href='http://www.masalife.com/archives/184' rel='bookmark' title='Permanent Link: mysql Table Locking Issues'>mysql Table Locking Issues</a></li>
<li><a href='http://www.masalife.com/archives/255' rel='bookmark' title='Permanent Link: jira与mysql的整合'>jira与mysql的整合</a></li>
<li><a href='http://www.masalife.com/archives/1080' rel='bookmark' title='Permanent Link: mysql索引 之 组合索引与字段顺序'>mysql索引 之 组合索引与字段顺序</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1039</link>
			</item>
	<item>
		<title>使用Zend Framework中的 Zend_Pdf来创建pdf文档</title>
		<description><![CDATA[原文地址： http://devzone.zend.com/article/12492-Creating-PDF-Documents-with-Zend-Framework Haru 和 PDFlib 这二个php扩展提供了完整的api来操作pdf文档。 另外还有很多开源的代码，可以操作pdf。 这篇文章主要讲解Zend Framework 中的 Zend_Pdf组件。 Zend_Pdf 是纯PHP实现的一套程序，不依赖于其它的任何外部库文件。 所以在虚拟主机上用起来是蛮合适的。 Zend_Pdf 可以对PDF进行绝大部分的操作，比如添加/删除页面，插入文件和图片， 绘图，更改PDF文档的元信息(update document meta-data)等等。 下面就以一个简单的例子开始吧： &#60;?php // include auto-loader class require_once 'Zend/Loader/Autoloader.php'; &#160; // register auto-loader $loader = Zend_Loader_Autoloader::getInstance&#40;&#41;; &#160; try &#123; // create PDF $pdf = new Zend_Pdf&#40;&#41;; &#160; // create A4 page $page = new Zend_Pdf_Page&#40;Zend_Pdf_Page::SIZE_A4&#41;; &#160; // define font resource $font = Zend_Pdf_Font::fontWithName&#40;Zend_Pdf_Font::FONT_HELVETICA&#41;; &#160; // set font for page // write text to page $page-&#62;setFont&#40;$font, 24&#41; -&#62;drawText&#40;'That which we call a rose,', 72, 720&#41; -&#62;drawText&#40;'By any other name would smell as sweet.', 72, 620&#41;; &#160; // add page to document $pdf-&#62;pages&#91;&#93; =&#8230;


Related posts:<ol><li><a href='http://www.masalife.com/archives/955' rel='bookmark' title='Permanent Link: PHP和couchDB'>PHP和couchDB</a></li>
<li><a href='http://www.masalife.com/archives/639' rel='bookmark' title='Permanent Link: uchome与帝国ecms积分兑换与积分同步'>uchome与帝国ecms积分兑换与积分同步</a></li>
<li><a href='http://www.masalife.com/archives/371' rel='bookmark' title='Permanent Link: document.getElementsByName在IE中的问题'>document.getElementsByName在IE中的问题</a></li>
<li><a href='http://www.masalife.com/gmail-dragout' rel='bookmark' title='Permanent Link: HTML5实现像Gmail一样拖动下载附件&#8211;演示'>HTML5实现像Gmail一样拖动下载附件&#8211;演示</a></li>
<li><a href='http://www.masalife.com/archives/1052' rel='bookmark' title='Permanent Link: HTML5实现像Gmail一样拖动下载附件'>HTML5实现像Gmail一样拖动下载附件</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1021</link>
			</item>
	<item>
		<title>[漫画] 计算机系的女教工</title>
		<description><![CDATA[Related posts:关于花荣老师 天涯又挂了，某域名无法解析 wordpress函数之get_posts [漫画]长期不去公司上班的严重后果 [漫画]匿名调查


Related posts:<ol><li><a href='http://www.masalife.com/about' rel='bookmark' title='Permanent Link: 关于花荣老师'>关于花荣老师</a></li>
<li><a href='http://www.masalife.com/archives/514' rel='bookmark' title='Permanent Link: 天涯又挂了，某域名无法解析'>天涯又挂了，某域名无法解析</a></li>
<li><a href='http://www.masalife.com/archives/552' rel='bookmark' title='Permanent Link: wordpress函数之get_posts'>wordpress函数之get_posts</a></li>
<li><a href='http://www.masalife.com/archives/840' rel='bookmark' title='Permanent Link: [漫画]长期不去公司上班的严重后果'>[漫画]长期不去公司上班的严重后果</a></li>
<li><a href='http://www.masalife.com/archives/1041' rel='bookmark' title='Permanent Link: [漫画]匿名调查'>[漫画]匿名调查</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1017</link>
			</item>
	<item>
		<title>Gentoo上apache2默认的php配置存在安全隐患,可导致任意文件被当作php文件来执行</title>
		<description><![CDATA[原文地址： http://ilia.ws/archives/226-Beware-of-the-default-Apache-2-config-for-PHP.html 一周之前，我在升级开发服务器的时候，发现了一个php + apache2在配置上的安全隐患。 一些linux的发行版的默认配置，都存在这个问题。 在这些发行版里面(包括Gentoo。不包括CentOS,Ubuntu)，apache2的默认的php配置为： &#60;IfModule mod_mime.c&#62; AddHandler application/x-httpd-php .php AddHandler application/x-httpd-php-source .phps &#60;/IfModule&#62; 目的是把 file.php当作php文件来解析， 但是file.php.txt也会被当作php文件解析出来！ 修改成以下的配置就OK了： &#60;IfModule mod_mime.c&#62; AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps &#60;/IfModule&#62; Related posts:PHP和couchDB PHP垃圾回收机制 之 变量的处理 jira,confluence 前面再放一个apache wordpress函数之get_posts Confluence 升级到3.12版本 转载请注明出处。 © 花荣 for 花荣老师的博客, 2010. &#124; Permalink &#124; No comment &#124; Add to del.icio.us Post tags: apache, php IT大腕交流群： 110443867 投稿邮箱： huarong@masalife.com 或者直接联系QQ： 190890101


Related posts:<ol><li><a href='http://www.masalife.com/archives/955' rel='bookmark' title='Permanent Link: PHP和couchDB'>PHP和couchDB</a></li>
<li><a href='http://www.masalife.com/archives/984' rel='bookmark' title='Permanent Link: PHP垃圾回收机制 之 变量的处理'>PHP垃圾回收机制 之 变量的处理</a></li>
<li><a href='http://www.masalife.com/archives/267' rel='bookmark' title='Permanent Link: jira,confluence 前面再放一个apache'>jira,confluence 前面再放一个apache</a></li>
<li><a href='http://www.masalife.com/archives/552' rel='bookmark' title='Permanent Link: wordpress函数之get_posts'>wordpress函数之get_posts</a></li>
<li><a href='http://www.masalife.com/archives/283' rel='bookmark' title='Permanent Link: Confluence 升级到3.12版本'>Confluence 升级到3.12版本</a></li>
</ol>]]></description>
		<link>http://www.masalife.com/archives/1012</link>
			</item>
</channel>
</rss>
