未来往事

输入内容过滤 PHP 不指定

Rinald 本站原创 PHP 2013/12/01 22:36
PHP内容过滤方法,过滤没用的信息比较严格,有用的可能也输入不进去,可以从网上找找其他的过滤方法:
iframe高度随页面内容自适应高度,当页面高度变动时iframe高度也自动变化
浏览器兼容:IE6++、Firefox全系列、Chrome全系列、(其他版本浏览器未做测试,期待你测试评论反馈以完善本文,谢谢)

同域环境下实现方法:
方法一:仅修改iframe父页面(iframeA.php),iframe子页面内容(iframeB.php)不用添加其他js或额外代码
iframe父页面(iframeA.php)添加代码如下:
<iframe width="100%" height="0" id="frame_content" src="http://fity.cn/iframeB.php" scrolling="no" frameborder="0" onload="this.height=this.contentWindow.document.documentElement.scrollHeight"></iframe>

<script type="text/javascript">
function reinitIframe(){
var iframe = document.getElementById("frame_content");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height =  height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
</script>

方法二:修改iframe子页面内容(iframeB.php),iframe父页面(iframeA.php)不需要加入js代码
iframe父页面(iframeA.php)添加代码如下:
<IFRAME border=0 marginWidth=0 frameSpacing=0 marginHeight=0 src="http://fity.cn/iframeB.php" frameBorder=0 noResize scrolling="no" width=100% height=100% vspale="0" id="childFrame" ></IFRAME>
iframe子页面(iframeB.php)代码范例如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
<script language="javascript" type="text/javascript">
function IFrameResize(){
//alert(this.document.body.scrollHeight); //弹出当前页面的高度
var obj = parent.document.getElementById("childFrame"); //取得父页面IFrame对象
//alert(obj.height); //弹出父页面中IFrame中设置的高度
obj.height = this.document.body.scrollHeight; //调整父页面中IFrame的高度为此页面的高度
}
window.setInterval("IFrameResize()", 200);//这里的时间可以设置短一些,时间越短高度变动时抖动越不明显
</script>
</head>
<body onload="IFrameResize()">
<div id='main' style='background:#FFF;width:100%;'>
测试数据
<br/>
测试数据
<br/>
测试数据
<br/>
http://fity.cn
</div>
</div>
</body>
</html>
注意:这里需要定义body onload属性


跨域环境下实现方法:
iframe若是跨域,不能直接用JS来控制,只能通过一个中间代理,我们这里选择在iframe的子页面(iframeB.php)中加一个与iframe父页面(iframeA.php)同域的页面(iframeC.php);这样页面iframeC.php就能和父页面iframeA.php进行无障碍的通讯了;因为子页面iframeB.php页面嵌入iframeC.php,所以页面iframeB.php可以改写页面iframeC.php的href值,这里给出一个例子,假设域名对应文件如下:
引用
iframeA.php  位于http://fity.cn域上
iframeB.php   位于http://www.household114.com域上
iframeC.php  位于http://fity.cn域上

实现方式:
+阅读全文

discuz楼层错乱一楼不显示处理 不指定

Rinald 本站原创 Discuz 2013/11/30 23:52
discuz楼层错乱1楼主题内容不显示问题解决

任何数据库应用都存在分页性能问题,mysql的性能问题似乎更大些。Discuz7.2(以下简称dz7.2)和Discuz X2(简称X2)的抢楼机制基本相同,抢楼与普通帖子(盖楼)是不同的处理机制。到了Discuz X2.5(简称X2.5)就把抢楼与盖楼机制统一。
引用来源:X2.5的新程序架构

由以上信息可以看出Discuz!X2.0及更早版本与Discuz!X2.5对抢楼及盖楼的机制并不相同、数据结构也相应的存在差距。为了解决这一问题,我们同时首先需要了解下discuz数据表以下几个常见字段:
tid:主题id
pid:帖子id
position:显示位置
first:是否是首贴


Discuz!X2.0及更早版本主题抢楼盖楼数据表:
forum_post 帖子表
forum_postposition帖子排楼顺序表,用来存储论坛帖子的排序,该表采用 (tid, position) 两个字段联合做自增主键,在高并发情况下,效率自然不高。(题外话,补充一点:该表不宜修改为InnoDB,建议新增了一列自增ID做主键,该主键和业务完全没有任何关系,仅用做自增主键。)
forum_postposition表的存储内容格式:
点击在新窗口中浏览此图片
在抢楼帖中假设forum_post表中first字段为1且该帖pid与forum_postposition表中pid相等且forum_postposition表中position字段为1对应则为1楼。


Discuz!X2.5及更高版本主题抢楼盖楼数据表:
forum_postpositin帖子排楼顺序表:取消了forum_postpositin表,在 post主表中增加 position 字段保存每个帖子的楼号。
forum_post 帖子表中多了一个position字段,如图:
点击在新窗口中浏览此图片
至此,你应该知道如何解决或处理该问题了。该问题在Discuz!X2.5及更高版本中很少遇见或几乎不会遇见,原因上述内容已经提到。

扩展阅读

先不分析X2.5固定楼号的利弊,就谈谈从dz7.2到X2.5对楼层处理机制以及变化的优缺点。
dz7.2用 postposition表来实现抢楼楼号排序,顺便也实现了对高楼层分页性能优化;X2 postpositon表只用来抢楼,对于高楼层主题分页优化没看到相关处理;X2.5对post主表添加楼号字段来让所有帖子的楼号固定,从而解决分页性能问题,也一并解决了抢楼问题。

从抢楼为主,附加高楼层分页到所有楼层分页为主,附带实现了抢楼,这个变化说明随着discuz功能增加对于分页性能的需求也变大,另外一个显示原因是那些长期使用discuz系统的大站数据也越来越大,大于1000万帖子的不是少数,他们对分页性能提高的需求更迫切。

看似Discuz!X2.5及更高版本的处理方式更好,但或许是因为缺乏DBA的支持,Discuz因为mysql的弱智低能带来的称重包袱而导致开发正走向歧路,具体可以参阅Discuz上这篇帖子《从Discuz7.2/X2盖楼机制到DiscuzX2.5盖楼抢楼合一分析Discuz!X的mysql技术包袱》


高级CSS样式选择器 不指定

Rinald 本站原创 WEB前端 2013/11/12 16:56
CSS选择器,CSS样式选择器,CSS选择器详解,高级CSS选择器,高级CSS选择器参考手册,CSS选择器参考指南

我们知道CSS 2 开始引入了属性选择器。属性选择器可以根据元素的属性及属性值来选择元素。简单的说即在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。本文主要描述CSS样式表中选择器的一些用法,当然你可能已经对CSS样式选择器不在生疏,但是通过本文你将能更好的掌握CSS样式的一些高级选择器使用。

CSS是对网页设计师可用的最强大的工具之一,你也许已经掌握了id、class、后台选择器这些基本的css选择器。但这远远不是css的全部。本文向大家介绍一些常见的高级CSS样式选择器,包括我们最头痛的浏览器兼容性问题。掌握了它们,才能真正领略css的巨大灵活性。

在深入研究高级CSS选择器之前,理解CSS优先级是如何工作很重要,这样我们就知道如何适当的使用我们的选择器并避免浪费大量的时间来调试一些只要我们注意到优先级的话就很容易被搞定的问题。当我们写CSS的时候我们必须注意有些选择器在级联(cascade)上会高于其它选择器,我们写在最后面的选择器将不一定会覆盖前面我们写在同一个元素的样式。选择器的优先级别规则:一般而言,选择器越特殊,它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。通常我们用1表示标签名选择器的优先级,用10表示类选择器的优先级,用100标示ID选择器的优先级。在本文中也会在相关选择器中进行标注。

一、基本选择器(兼容浏览器:IE6+、Firefox、Chrome、Safari、Opera)
*  通用元素选择器,匹配任何元素,在页面上的每一个元素上起作用
h4  标签选择器,匹配所有使用h4标签的元素.优先级仅仅比*高
.textbox  class(类)选择器,匹配所有class属性中包含textbox的元素,class选择器与id选择器的不同是class选择器能作用于期望样式化的一组元素
#mainWrapper  id选择器,匹配所有id属性等于mainWrapper的元素。id是我们最常用的css选择器之一。id选择器的优势是精准,高优先级(优先级基数为100,远高于class的10),作为javascript脚本钩子的不二选择,同样缺点也很明显优先级过高,重用性差,所以在使用id选择器前,我们最好问下自己,真的到了非用id选择器的地步?
例如:


二、多元素的组合选择器/扩展选择器(兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera)
E,F  多元素选择器/群组选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔,如div,span,img{}(值得注意的是兼容IE6+)
E F  后代元素选择器--这也是我们最常用的一种选择器。要留意的点是,这种方式的选择器将选取其下所有匹配的子元素,无视层级,所以有的情况是不宜使用的。匹配所有属于E元素后代的F元素,E和F之间用空格分隔(值得注意的是兼容IE6+)
E > F  子元素选择器,匹配所有E元素的子元素F,与后代选择器E F不同的是,子选择器只对E下的直接子级F起作用
E + F  毗邻元素选择器,匹配所有紧随E元素之后的同级元素F(只匹配第一个元素)
例如:


三、属性选择器(兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera)
属性选择器(Attribute selector)让你可以基于属性来定位一个元素。你可以只指定该元素的某个属性,这样所有使用该属性——而不管它的值——的这个元素都将被定位,也可以更加明确并定位在这些属性上使用特定值的元素 —— 这就是属性选择器展示它们的威力的地方。

CSS 2.1 属性选择器 (注意:由于博客程序问题,value值需要有双引号,下同)
E[att]  匹配所有具有att属性的E元素,不考虑它的值。(注意:E元素在此处可以省略,比如 [cheacked] 。以下同);
E[att=value]  匹配所有att属性等于 value 的E元素,即:该属性有指定的确切的值;
E[att~=value]  匹配所有att属性具有多个空格分隔的值、其中一个值等于 value 的E元素,即:该属性的值必须是一系列用空格隔开的多个值,(比如,class= title featured home ),而且这些值中的一个必须是指定的值 value ;
E[att|=value]   匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、属性的值就是 value 或者以 value 开始并立即跟上一个 - 字符,也就是 value- 。(比如lang= zh-cn );

CSS 3 属性选择器
E[att^= value ]  属性att的值以 value 开头的元素,即:该属性的值以指定值开始。
E[att$= value ]  属性att的值以 value 结尾的元素,即:该属性的值包含指定的值(而无论其位置)
E[att*= value ]  属性att的值包含 value 字符串的元素,即:该属性的值以指定的值结束。
例如:


四、 CSS 2.1中的伪类(兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera)
E:first-child   匹配父元素的第一个子元素。
E:link  匹配所有未被点击的链接标签。
E:visited  匹配所有已被点击的链接标签。
E:active  匹配鼠标已经其上按下、还没有释放的E元素
E:hover  匹配鼠标悬停其上的E元素,即:当鼠标划过时E元素的样式。需要注意的是,在IE6中:hover只能用于链接元素。
E:focus  匹配获得当前焦点的E元素--最常用于表单元素
E:lang(c)  匹配lang属性等于c的E元素
例如:


五、CSS 2.1中的伪元素/伪对象 [兼容性:IE6、IE7与IE8(怪异模式Quirks mode)不支持此伪元素,兼容浏览器IE9+、Firefox、Chrome、Safari、Opera]
E::first-line  匹配E元素的第一行
E::first-letter  匹配E元素的第一个字母
E::before  在E元素之前插入生成的内容
E::after  在E元素之后插入生成的内容
例如:


六、CSS 3的同级元素通用选择器(兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera)
E ~ F 相邻选择器,与前面提到的E+F不同的是,E~F匹配与E相同级别的所有F元素,而E+F只匹配第一个。
例如:


七、CSS 3中与用户界面有关的伪类(兼容浏览器:IE9+、Firefox、Chrome、Safari)
E:enabled   匹配表单中激活的元素(比如,文本输入框)和 checked 或unchecked 状态(radio单选按钮和checkbox复选框)
E:disabled  匹配表单中禁用的元素(同上)
E:checked  匹配处于选定状态的界面元素(同上)
E::selection   定义用户鼠标已选择内容的样式
例如:


八、CSS 3中的结构性伪类(兼容浏览器:IE9+、Firefox、Chrome、Safari)
E:root   匹配文档的根元素,对于HTML文档,就是HTML元素
E:nth-child(n)  匹配其父元素的第n个子元素,第一个编号为1
E:nth-last-child(n)   匹配其父元素的倒数第n个子元素,第一个编号为1
E:nth-of-type(n)   与:nth-child()作用类似,不同的是它匹配的不是某个序列元素,而是元素类型
E:nth-last-of-type(n)  与:nth-last-child() 作用类似,但是仅匹配使用同种标签的元素
E:last-child  匹配父元素的最后一个子元素,等同于:nth-last-child(1)
E:first-of-type  匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1)
E:last-of-type   匹配父元素下使用同种标签的最后一个子元素,等同于:nth-last-of-type(1)
E:only-child  匹配父元素下仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1),这个伪类用的比较少
E:only-of-type  匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1)
E:empty  匹配一个不包含任何子元素的元素,注意,文本节点也被看作子元素
例如:


九、CSS 3的反选伪类/否定伪类选择器(兼容浏览器:IE9+、Firefox、Chrome、Safari)
E:not(value)   否定伪类选择器用来在匹配元素时排除某些元素,匹配不符合当前选择器的任何元素
例如:


十、CSS 3中的 :target 伪类(不支持IE全系列)
E:target  匹配文档中特定 id 点击后的效果
例如:


扩展阅读:
1、如何写出简洁、高效的CSS?
• 不要在ID选择器前使用标签名
  一般写法:DIV#divBox
  更好写法:#divBox
  解释: 因为ID选择器是唯一的,加上div反而增加不必要的匹配。
• 不要再class选择器前使用标签名
  一般写法:span.red
  更好写法:.red
  解释:同第一条,但如果你定义了多个.red,而且在不同的元素下是样式不一样,则不能去掉
• 尽量少使用层级关系
  一般写法:#divBox p .red{color:red;}
  更好写法:.red{..}
• 使用class代替层级关系
  一般写法:#divBox ul li a{display:block;}
  更好写法:.block{display:block;}

2、样式表中定义CSS兼容IE6、IE7、FF


PS:另一点,我们在使用javascript类库的选择器时,例如jquery,要尽可能的使用这些原生的css3选择器,因为类库的选择器引擎会通过浏览器内置解析它们,这样会获得更快的速度。

CSS3选择器W3C参考手册:
http://www.w3school.com.cn/cssref/css_selectors.asp
DiscuzX游客查看帖子提示没有找到帖子解决方法
兼容版本:X2/X2.5/X3/X3.1
故障描述:常见为从X2/2.5升级到X3新版本后遇到该错误

排查思路:
1、检查后台相关权限配置是否允许游客查看帖子(或数据表中的记录是否也正常)
2、关闭所有的插件、关闭伪静态后测试
3、后台->站长->数据库->升级、优化、校验,根据结果对相关数据表进行处理
4、重新升级帖子表(如果pre_forum_post和pre_forum_post_bak同时存在,将forum_post_bak命名为fourm_post重新升级)
5、检查程序文件table_forum_post/forum_viewthread.php
启用Gzip压缩后访问文章页面报如下错误信息:
引用
内容编码错误
您尝试查看的页面无法显示,因为它使用了无效的或者不支持的压缩格式

排查思路:
1.后台关闭所有的插件,然后测试
2.模板切换到默认模板,然后测试
经排查未来往事博客在启用Gzip压缩后遇到这个错误是由于插件addcopyright下entrycontentend.php文件引起的,经分析该文件引起该错误的原因为该文件在php结束符后存在几行空白行,删除后恢复正常!

关于Nginx启用Gzip模块可以参考本博这篇文章《Nginx启用Gzip压缩模块

Nginx启用Gzip压缩模块 不指定

Rinald 本站原创 Apache/Nginx 2013/11/07 18:05
Nginx的gzip模块是内置的,在http中添加如下配置
gzip on;
gzip_min_length  5k;
gzip_buffers     4 16k;
gzip_http_version 1.0;
gzip_comp_level 3;
gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;

注  释:
gzip on|off
# 默认值: gzip off
# 开启或者关闭gzip模块

gzip_static on|off
# nginx对于静态文件的处理模块
# 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。该模块启用后,nginx首先检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容。为了要兼容不支持gzip的浏览器,启用gzip_static模块就必须同时保留原始静态文件和gz文件。这样的话,在有大量静态文件的情况下,将会大大增加磁盘空间。我们可以利用nginx的反向代理功能实现只保留gz文件。
# 可以google"nginx gzip_static"了解更多

gzip_comp_level 4
# 默认值:1(建议选择为4)
# gzip压缩比/压缩级别,压缩级别 1-9,级别越高压缩率越大,当然压缩时间也就越长(传输快但比较消耗cpu)。

gzip_buffers 4 16k
# 默认值: gzip_buffers 4 4k/8k
# 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。 例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
# 如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。

gzip_types mime-type [mime-type ...]
# 默认值: gzip_types text/html (默认不对js/css文件进行压缩)
# 压缩类型,匹配MIME类型进行压缩
# 不能用通配符 text/*
# (无论是否指定)text/html默认已经压缩
# 设置哪压缩种文本文件可参考 conf/mime.types
+阅读全文
配置Nginx支持ThinkPHP PATHINFO URL_MODEL=1模式

Nginx默认是不支持PATHINFO的,也就是说不支持ThinkPHP设置URL_MODEL=1的情况,这时候简单的方法,让Nginx迅速搭建TP的方法是,设置URL_MODEL=3,即兼容模式。但是要让Nginx支持ThinkPHP PATHINFO需要做如下配置:

1、设置ThinkPHP URL模式 URL_MODEL=1;
2、修改Nginx配置文件
location / {
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=$1  last;
   break;
  }
}

上面的设置Nginx的伪静态方法, 其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决不支持PATHINFO的WEB服务器环境。
此处需要注意的是,如果你的ThinkPHP是安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称

location /youdomain/ {
    if (!-e $request_filename){
      rewrite  ^/youdomain/(.*)$  /youdomain/index.php?s=$1  last;
    }
  }

再添加如下配置
location ~ .+.php($|/) {
      set $script $uri;
      set $path_info "/";
      if ($uri ~ "^(.+.php)(/.+)") {
          set $script $1;
          set $path_info $2;
      }
      include fastcgi_params;
      fastcgi_param PATH_INFO $path_info;
      fastcgi_index index.php?IF_REWRITE=1;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_param SCRIPT_FILENAME $document_root/$script;
      fastcgi_param SCRIPT_NAME $script;
  }
3、重新加载Nginx配置文件或重启Nginx服务让配置生效。

GPT与MBR分区表格式类型转换 不指定

Rinald 本站原创 PC知识 2013/10/30 16:34
本文讨论:
MBR GPT ESP MSR 概念作用及区别
GPT与MBR分区表格式类型转换

首先,我们来理解下几个概念?MBR、GPT、ESP、MSR 都是些什么?都有些什么区别?

分区表格式类型:MBR  GPT 区别 ?
▷ MBR分区表:Master Boot Record,即硬盘主引导记录分区表,只支持容量在 2.1TB 以下的硬盘,超过2.1TB的硬盘只能管理2.1TB,最多只支持4个主分区或三个主分区和一个扩展分区,扩展分区下可以有多个逻辑分区。
▷ GPT分区表:GPT,全局唯一标识分区表(GUID Partition Table),与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB。只有基于UEFI平台的主板才支持GPT分区引导启动。
补充:不幸的是GPT分区表格式类型在Windows系统激活方面会给我们带来一些麻烦(当然 未来往事 建议你使用正版系统)。

分区类型:ESP  MSR区别 ?
▷ ESP分区:EFI system partition,该分区用于采用了EFI BIOS的电脑系统,用来启动操作系统。分区内存放引导管理程序、驱动程序、系统维护工具等。如果电脑采用了EFI系统,或当前磁盘用于在EFI平台上启动操作系统,则应建议ESP分区。UEFI 系统分区 (ESP) ,简单的说 ESP 是 EFI 的启动分区,在 EFI 启动的机器上是必须的,你可以理解为就是普通分区,就是我们常用的分区格式。
▷ MSR分区:即 Microsoft 保留 (MSR) 分区,是GPT磁盘上用于保留空间以备用的分区,例如在将磁盘转换为动态磁盘时需要使用这些分区空间。是每个 GUID 分区表 (GPI) 磁盘都要求的分区。系统组件可以将 MSR 分区的部分分配到新的分区以供它们使用。例如,将基本 GPT 磁盘转换为动态磁盘后,系统分配的 MSR 分区将被用作“逻辑磁盘管理器”(LDM) 元数据分区。MSR 分区的大小会因 GPT 磁盘的大小不同而发生变化。对于小于 16 GB 的磁盘,MSR 分区为 32 MB。对于大于 16 GB 的磁盘,MSR 分区为 128 MB。MSR 分区在“磁盘管理”中不可见,用户也无法在 MSR 分区上存储或删除数据。

废话不多说了,接下来进入本文的正题,GPT与MBR分区表格式类型转换
(这里我们需要准备一个可启动的WinPe U盘,本例中 未来往事 准备的是老毛桃WinPe U盘)
1、进入BIOS修改第一启动项为U盘
2、修改完成后,把做好的WinPe U盘插到机器上
3、接下来进入WinPe系统,然后对磁盘进行如下操作:
删除当前磁盘所有已有分区:
  A.打开DG(DiskGenius)删除所有的分区
  注意:此时不要点击保存更改,否则你会收到如下错误:“保存分区表时出现错误。(00000001)函数不正确
  B.将硬盘分区表类型由GPT转换为MBR格式(硬盘--转换分区表类型为MBR格式)
重新分区:

不过,值得补充的是 UEFI 模式加 GPT 分区表格式类型安装 Windows 8 / Windows Server 2008 R2 是大势所趋!

ASUS S200E Win8系统改为Win7系统 不指定

Rinald 本站原创 PC知识 2013/10/30 08:27
本文讨论:
MBR GPT ESP MSR 概念作用及区别
GPT与MBR分区表格式类型转换
ASUS S200E Win8系统改为Win7系统

首先,我们来理解下几个概念?MBR、GPT、ESP、MSR 都是些什么?都有些什么区别?

分区表格式类型:MBR  GPT 区别 ?
▷ MBR分区表:Master Boot Record,即硬盘主引导记录分区表,只支持容量在 2.1TB 以下的硬盘,超过2.1TB的硬盘只能管理2.1TB,最多只支持4个主分区或三个主分区和一个扩展分区,扩展分区下可以有多个逻辑分区。
▷ GPT分区表:GPT,全局唯一标识分区表(GUID Partition Table),与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB。只有基于UEFI平台的主板才支持GPT分区引导启动。
补充:不幸的是GPT分区表格式类型在Windows系统激活方面会给我们带来一些麻烦(当然 未来往事 建议你使用正版系统)。

分区类型:ESP  MSR区别 ?
▷ ESP分区:EFI system partition,该分区用于采用了EFI BIOS的电脑系统,用来启动操作系统。分区内存放引导管理程序、驱动程序、系统维护工具等。如果电脑采用了EFI系统,或当前磁盘用于在EFI平台上启动操作系统,则应建议ESP分区。UEFI 系统分区 (ESP) ,简单的说 ESP 是 EFI 的启动分区,在 EFI 启动的机器上是必须的,你可以理解为就是普通分区,就是我们常用的分区格式。
▷ MSR分区:即 Microsoft 保留 (MSR) 分区,是GPT磁盘上用于保留空间以备用的分区,例如在将磁盘转换为动态磁盘时需要使用这些分区空间。是每个 GUID 分区表 (GPI) 磁盘都要求的分区。系统组件可以将 MSR 分区的部分分配到新的分区以供它们使用。例如,将基本 GPT 磁盘转换为动态磁盘后,系统分配的 MSR 分区将被用作“逻辑磁盘管理器”(LDM) 元数据分区。MSR 分区的大小会因 GPT 磁盘的大小不同而发生变化。对于小于 16 GB 的磁盘,MSR 分区为 32 MB。对于大于 16 GB 的磁盘,MSR 分区为 128 MB。MSR 分区在“磁盘管理”中不可见,用户也无法在 MSR 分区上存储或删除数据。

废话不多说了,接下来进入本文的正题,ASUS S200E Win8系统改为Win7系统
(这里我们需要准备一个可启动的WinPe U盘,本例中 未来往事 准备的是老毛桃WinPe U盘)
1、进入BIOS修改以下信息(在出现ASUS(华硕)图标界面时按DEL进入BIOS):
+阅读全文

select分组与默认选择项 不指定

Rinald 本站原创 PHP 2013/10/25 17:57
select分组与默认选择实现方式 php

Nginx 泛解析 不指定

Rinald 本站原创 Apache/Nginx 2013/10/25 17:31
Nginx二级域名泛解析到子目录
Nginx多目录多虚拟主机情况泛解析


绑一堆域名实在太麻烦,假设需求场景如下:
二级/三级域名      对应web程序目录
*.household114.com       /phpweb/household114/
abc1.household114.com   /phpweb/household114/abc1.household114.com
abc2.household114.com   /phpweb/household114/abc2.household114.com
abc3.household114.com   /phpweb/household114/abc3.household114.com
……

Nginx配置如下:
server
        {
                listen       80;
                server_name household114.com *.household114.com;
                root  /phpweb/household114/$host/;
                #Configuration is omitted……
        }
补充:首选需要在DNS中配置泛解析到该机器IP。
如果页面内容中没有空行存在,请检查页面格式编码,建议以无BOM格式编码

Dreamweaver可以通过“修改->页面属性->标题/编码->包括Unicode签名(bom)”方式调整页面编码格式
Notepad++:“格式->无BOM格式编码”
错误描述:
VMware9 安装提示The MSI '' failed:直接双击VMWare 9/10程序出现错误“The MSI '' failed”。

解决方法:
1、解压VMWare的安装程序成带有msi文件的文件夹。可以进入命令行“开始->运行->CMD”,然后输入“"E:\VMware-workstation-full-9.0.2-1031769.exe " /extract "解压路径<比如c:\VMWareMsi>"”即可。例如:
D:\>VMware-workstation-full-xxx-xxxxxx.exe /extract d:\vm
2、运行解压后文件夹中的vmwareworkstation_x86.msi或vmwareworkstation_x64.msi文件,应该能正常安装了。

PS:这种情况是在你卸载原vmware重启机器后依然报The MSI ''failed错误时尝试。
本文收集内容:
phpMyAdmin隐藏多个数据库(information_schema|mysql|test)
phpMyAdmin禁止/不允许用户修改密码

phpMyAdmin隐藏多个数据库 information_schema|mysql|test
编辑/libraries/config.default.php

phpMyAdmin禁止/不允许用户修改密码


第13页 / 共35页 第一页 « 上一页 8 9 10 11 12 13 14 15 16 17 下一页 » 最后页 [ 显示模式: 摘要 | 列表 ]