未来往事
风景:因为美好,所以留恋;友谊:因为值得,所以挂牵;生活:因为祝福,所以温暖! [2017年 第26周/共52周]

Nginx启用Gzip压缩模块

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配置支持TP PATHINFO URL_MODEL=1模式

配置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;
  }
}

......
+阅读全文

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

本文讨论:
MBR GPT ESP MSR 概念作用及区别
GPT与MBR分区表格式类型转换

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

分区表格式类型:MBR  GPT 区别 ?
▷ MBR分区表:Master Boot Record,即硬盘主引导记录分区表,只支持容量在 2.1TB 以下的硬盘,超过2.1TB的硬盘只能管理2.1TB,最多只支持4个主分区或三个主分区和一个扩展分区,扩展分区下可以有多个逻辑分区。
▷ GPT分区表:......
+阅读全文

ASUS S200E Win8系统改为Win7系统

本文讨论:
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分组与默认选择项

select分组与默认选择实现方式 php

  1. 分类:  
  2. <select name="type">  
  3.   <option value="">请选择分类</option>  
  4.   <optgroup label="最具影响家居卖场">  
......
+阅读全文

Nginx 泛解析

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
        {
     &nbs
......
+阅读全文

页面包含php文件时页头多一空行原因

......
+阅读全文

VMware9/10 the msi  vmwareworkstation_x64.msi failed

错误描述:
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......
+阅读全文

phpMyAdmin隐藏数据库information_schema/mysql

本文收集内容:
phpMyAdmin隐藏多个数据库(information_schema|mysql|test)
phpMyAdmin禁止/不允许用户修改密码

phpMyAdmin隐藏多个数据库 information_schema|mysql|test
编辑/libraries/config.default.php
  1. 隐藏
......
+阅读全文

显示器输入不支援/不支持故障解决

今天遇到一台AOC显示器显示输入不支援,经过排查为显示器与主机刷新率不匹配导致,解决方法如下:
XP系统 启动时按F8键(在自检画面快结束前,不断地按F8键)选择启动VGA模式,进入系统后修改下分辨率和刷新率(桌面空白处--右击属性--设置--高级--监视器--在设置刷新频率下方的下拉菜单中设置可用的刷新频率)即可。

Win7系统 启动WIndows 7时,按F8键(在自检画面快结束前......
+阅读全文

Warning: Cannot modify header information - headers already sent by

今天在测试以下代码时遇到该错误:
  1. session_start();  
  2. $_SESSION['username']=$username;  
  3. echo "<script language='javascript'>location.href='../admin.php';</script>";  
......
+阅读全文

js 跳到指定页面

Javascript跳到指定页面的几种常用方法
  1. ☀ Method 1:  
  2. <script language="javascript" type="text/javascript">  
  3.   window.location.href="register.php?backurl="+window.location.href;   
  4. </sc
......
+阅读全文

Tmail RoundCube WebMail完整配置文件批注

Tmail RoundCube WebMail完整配置文件批注

1、日志、调试(LOGGING/DEBUGGING)
$rcmail_config['debug_level'] = 1;
system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace
系统错误日志,1:记录在日志文件中,2:功能未实现,4:在网页中显示,8:追踪

$rcmail_config['log_driver'] = 'file';
log driver:  'syslog' or 'file'.
错误日志存放位置,'file':存放在/logs/error,'syslog':存放系统日志中

$rcmail_config['log_date_format'] = 'Y-M-d H:i:s O';
date format for log entries
日志文件中的时间格式

$rcmail_config['syslog_facility'] = LOG_USER;
Syslog facility to use, if using the 'syslog' log driver.
若使用'syslog'系统日志,则使用的日志工具

$rcmail_config['smtp_log'] = true;
Log sent messages to /sendmail or to syslog
True:把smtp日志记录在/logs/sendmail文件中,False:不记录

$rcmail_config['log_logins'] = true;
Log successful logins to /userlogins or to syslog
True:把用户成功登录日志记录在/logs/sendmail文件中,False:不记录

$rcmail_config['sql_debug'] = false;
Log SQL queries to /sql or to syslog
True:把SQL错误日志记录在/logs/sql文件中,False:不记录

$rcmail_config['imap_debug'] = false;
Log IMAP conversation to /imap or to syslog
True:把imap调试日志记录在/logs/imap文件中,False:不记录

$rcmail_config['ldap_debug'] = false;
Log LDAP conversation to /ldap or to syslog
True:把imap调试日志记录在/logs/imap文件中,False:不记录

$rcmail_config['smtp_debug'] = false;
Log SMTP conversation to /smtp or to syslog
True:把smtp调试日志记录在/logs/ smtp文件中,False:不记录

2、交互式邮件存取协议(IMAP)
$rcmail_config['default_host'] = '192.168.1.253';
the mail host chosen to perform the log-in.leave blank to show a textbox at login, give a list of hosts to display a pulldown menu or set one host as string.To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://.Supported replacement variables:%n - http hostname ($_SERVER['SERVER_NAME']) %d - domain (http hostname without the first part) For example %n = mail.domain.tld, %d = domain.tld
邮件登录主机。’’:在登录是显示一个输入框,字符串数组array(‘x’,’xx’):显示一个下拉菜单,字符串’xx’:则为默认邮箱登录时不显示,SSL/TLS连接:主机名以ssl://或 tls://开头,支持变量替换:%n主机名称($_SERVER['SERVER_NAME']),%d域名,若主机名为mail.domain.tld,%n = mail.domain.tld,,%d = domain.tld。

$rcmail_config['default_port'] = 143;
TCP port used for IMAP connections
Imap端口

$rcmail_config['imap_auth_type'] = null;
IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use best server supported one)
IMAP AUTH类型,选择服务支持最好的一个

$rcmail_config['imap_delimiter'] = null;
If you know your imap's folder delimiter, you can specify it here.Otherwise it will be determined automatically
如果你知道你的IMAP的文件夹分隔符,你可以在此指定它,否则就让它会自动确定。

$rcmail_config['imap_ns_personal'] = null;
$rcmail_config['imap_ns_other']    = null;
$rcmail_config['imap_ns_shared']   = null;
If IMAP server doesn't support NAMESPACE extension, but you're using shared folders or personal root folder is non-empty, you'll need to set these options. All can be strings or arrays of strings. Folders need to be ended with directory separator, e.g. "INBOX." (special directory "~" is an exception to this rule) These can be used also to overwrite server's namespaces.
如果IMAP服务器不支持命名空间扩展,但你使用共享文件夹或个人的根文件夹是非空,你需要设置这些选项。这些选项的值可以是字符串或字符串数值。文件夹需要以目录分隔符结尾,如“INBOX.”。(特殊的目录"~"是对这一规则的例外),这些也可用于覆盖服务器的命名空间。

$rcmail_config['imap_force_caps'] = false;
By default IMAP capabilities are readed after connection to IMAP server In some cases, e.g. when using IMAP proxy, there's a need to refresh the list after login. Set to True if you've got this case.
在某些情况下连接后服务器后IMAP默认被读取 ,例如当使用IMAP代理,登录后需要刷新列表。若你有这种情况的话就设置为True。

$rcmail_config['imap_force_lsub'] = false;
By default list of subscribed folders is determined using LIST-EXTENDED extension if available. Some servers (dovecot 1.x) returns wrong results for shared namespaces in this case. http://trac.roundcube.net/ticket/1486225 Enable this option to force LSUB command usage instead.
若可用订阅文件夹的默认列表确认被用作名单扩展。在这种情况下一些服务器(dovecot 1. x)返回错误的结果为共同命名空间。

$rcmail_config['imap_timeout'] = 0;
IMAP connection timeout, in seconds. Default: 0 (no limit)
IMAP连接超时时间,秒,默认:0(不限制)。

$rcmail_config['imap_auth_cid'] = null;
Optional IMAP authentication identifier to be used as authorization proxy
可选的IMAP认证标识符作为授权代理

$rcmail_config['imap_auth_pw'] = null;
Optional IMAP authentication password to be used for imap_auth_cid
可选的IMAP认证密码用来作imap_auth_cid

3、简单邮件传输协议(SMTP)
$rcmail_config['smtp_server'] = '192.168.1.253';
SMTP server host (for sending mails). To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://,If left blank, the PHP mail() function is used,Supported replacement variables:%h - user's IMAP hostname,%n - http hostname ($_SERVER['SERVER_NAME']),%d - domain (http hostname without the first part),%z - IMAP domain (IMAP hostname without the first part).For example %n = mail.domain.tld, %d = domain.tld
SMTP服务主机(发送邮件)。SSL/TLS连接:主机名以ssl://或 tls://开头,空白:使用php的main()函数,支持变量替换:%h 用户IMAP主机,%n http主机($_SERVER['SERVER_NAME']),%d域名(没有第一部分的主机名),%z IMAP域名(没有第一部分的IMAP主机名)。若主机名为mail.domain.tld,%n = mail.domain.tld,,%d = domain.tld。

$rcmail_config['smtp_port'] = 25;
SMTP port (default is 25; 465 for SSL)
SMTP端口(默认25;SSL465)

$rcmail_config['smtp_user'] = '';
SMTP username (if required) if you use %u as the username Roundcube will use the current username for login
SMTP用户名(如果需要)如果你使用%u作为用户名,Roundcube将使用当前登录用户。

$rcmail_config['smtp_pass'] = '';
SMTP password (if required) if you use %p as the password Roundcube will use the current user's password for login
SMTP密码(如果需要)如果你使用%p作为密码,Roundcube将使用当前登录用户的密码。

$rcmail_config['smtp_auth_type'] = '';
SMTP AUTH 类型,选择服务支持最好的一个。

$rcmail_config['smtp_auth_cid'] = null;
Optional SMTP authentication identifier to be used as authorization proxy
可选的SMTP认证标识符作为授权代理

$rcmail_config['smtp_auth_pw'] = null;
Optional SMTP authentication password to be used for smtp_auth_cid
可选的SMTP认证密码用来smtp_auth_cid

$rcmail_config['smtp_helo_host'] = '';
SMTP HELO host.Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages.  Leave this blank and you will get the server variable 'server_name' or localhost if that isn't defined.
SMTP HELO主机。主机名给远程服务器SMTP 'HELO' 或 'EHLO'消息。空白:你将得到'server_name'服务变量的值,若未定义则得到localhost。

$rcmail_config['smtp_timeout'] = 0;
SMTP connection timeout, in seconds. Default: 0 (no limit)
SMTP连接超时时间,秒,默认:0(不限制)。

4、系统(SYSTEM)
+阅读全文

Tmail RoundCube WebMail常用配置说明

本文档基于Tmail5.0.1 / RoundCube WebMail0.6环境所写。
RoundCube WebMail简介:
RoundCube WebMail是一个基于浏览器,支持多国语言的IMAP客户端,操作界面看起像一个桌面应用程序。它提供一个E-mail客户端应该具备的所有功能包括MIME支持,地址薄,文件夹操作,信息搜索和拼写检查。RoundCube Webmail采用PHP+Ajax开发并且需要MySQL数据库来存储数据。用户界面采用XHTML+CSS2设计。

RoundCube WebMail配置文件路径:
[root@mail /]# cat /tmail/httpd/html/webmail/config/main.inc.php
......
+阅读全文

蓝屏Stop:C0000135 Unknown Hard Error解决处理

故障描述:
开机启动蓝屏进入系统前蓝屏报如下错误代码:
Stop:C0000135 Unknown Hard Error
Unknown Hard Error

故障分析:
大意是“未知的硬件错误”,因此初步判断是硬件方面出了问题,但是经过初步硬件及系统方面的排查及和用户沟通了解故障发生之前对电脑的操作情况,于是将引起该故障的原因暂时重点定位为那些能引起“硬件错误”的Windows内核文件的破坏或丢失上,通过上网查阅相关资料,发现kernel32等相关内核文件出错容易出现这种现象。
......
+阅读全文