让WordPress飞起来,加速WP的基本技巧

 WordPress版本越靠后,越来越强大,当然也越来越臃肿,如何让WordPress运行的更加流畅,让别人很快地打开你的站点页面至关重要。在前面的文章中:加速WordPress:将Gravatar头像缓存到本地,我们提到了其中的头像优化,那么今天将带来更多的优化方法。
  优化方法一大堆,无非是通过以下几点:
  常规的前端性能优化
  无论你的网站是基于什么后台技术实现的,被访问者访问的时候,总是会生成常规的 HTML、CSS、JavaScript 等文件发送回客户端。要想提速你的网站,可以先从前端方面进行优化。
  前端的性能优化是一个很深的东西,有很多技巧和方法,但是你可能只是一个站长而并不是专业的前端工程师,所以这里我只总结几个基础却又很有效的前端性能优化技巧:
  压缩图片:图片的下载在网页打开的过程中,占用很多时间,而如果对这些图片进行压缩或者其他技巧(例如 lazy load)就可以减少这方面的时间。实践证明,对 jpg 图片进行 80% 的压缩,既保证了肉眼看不出质量问题又可以减少一些尺寸,对 png 格式的图片,可以使用TinyPNG 来压缩。
  合并文件:这里的文件主要是指 CSS、JavaScript 文件,页面中每多一个 CSS、JavaScript 文件,浏览器就会多一个 HTTP 请求,就会多一个等待时间。理想状态下,最多只有一个 CSS、JavaScript 文件,并且进行压缩使其文件尽可能小,这方面建议使用 WP Minify 插件。如果有能力的,还可以合并图标,把一些小图片合并起来,做成 CSS Sprite。
  使用 CDN:假如你的服务器在北京,北京本地访问起来就会超快,但是广东地区的访问者可能会由于距离和线路问题感觉很慢。成熟的 CDN 服务商在全国各地都会有服务器,如果你把静态文件放在上面,广东地区访问你的网站,会从广东附近的服务器上下载文件,而且 CDN 的服务器和宽带为下载做了优化,速度一般会超过你的服务器,这样就可以大大的提速了,目前一般建议使用七牛云存储来加速静态文件,这里有 WordPress 插件:七牛镜像存储 WordPress 插件。WordPress主题站是使用的又拍云储存,详见站点底部信息。
  对于普通站长,了解这些就可以了,下面来谈谈 WordPress 站点上的优化。
  为 WordPress 安装缓存插件
  缓存是提升速度非常重要的东西。当你访问一个网站,进行过缓存优化的,会将一些图片和 CSS、JS 文件缓存到你的电脑中。当你下一次访问的时候,浏览器发现缓存中的这些文件没有过期,就立刻从缓存中调用出来,就不再从你服务器上下载了。这样,就只需要下载 几KB 你写的文字就Ok了,当然打开速度就飞快了。
  WordPress 缓存,要看你的服务器的支持程度,如果你的服务器已经安装了内存缓存这些组件,安装 Memcached 插件是最优化,如果是虚拟主机,建议安装了 WP Super Cache。
  使用 .htaccess 文件进行缓存
  面是通过安装插件来进行缓存,如果你不想安装插件,可以使用下面的方法进行缓存。
  将下面代码按照你的需求修改,放在你 WordPress 站点根目录下面的 .htaccess 文件中即可:

  1. # 缓存有效时间 1 年#http://www.wpmee.com <FilesMatch “.(ico|pdf|flv)$”> Header set Cache-Control “max-age=29030400, public”  
  2. # 缓存有效时间 1 周 <FilesMatch “.(jpg|jpeg|png|gif|swf)$”> Header set Cache-Control “max-age=604800, public”  
  3. # 缓存有效时间 2 天 <FilesMatch “.(xml|txt|css|js)$”> Header set Cache-Control “max-age=172800, proxy-revalidate”  
  4. # 缓存有效时间 1 分钟 <FilesMatch “.(html|htm|php)$”> Header set Cache-Control “max-age=60, private, proxy-revalidate”  

上面代码做了简单的注释,缓存时间主要靠下面的 max-age 参数,是以秒作为单位的,缓存时间上面的参数是要缓存的文件类型。
  注意,缓存虽然很好用,但是并非缓存时间越长越好。有些静态的文件,很长时间都不会改变其内容,就可以设置时间长一些。有些动态的文件,经常修改的,就需要设置时间短一些。曾经有个好友的博客一个月没有更新了,问了他一下才知道是缓存设置错了,结果导致打开的时候还是很久之前的内容。
  减少数据库查询
  动态网站肯定要对数据库进行一些查询,而每次查询,都要建立一个数据库连接,然后等待数据库返回数据并输出。这个过程就要浪费时间。WordPress 上面有很多不必要的查询和用不到的功能,去掉这些可以提速。
  可以使用下面这段代码来查看一下你的 WordPress 建立了多少查询,你可以把它复制到主题目录下面的 functions.php 文件中,就可以在底部看到相关信息:

  1. add_action(   
  2.   ‘wp_footer’, ‘wpjam_page_speed’   
  3. );  
  4. function wpjam_page_speed() {   
  5.   date_default_timezone_set(   
  6.     get_option( ‘timezone_string’ )   
  7.   );   
  8.   $content = ‘[ ‘ . date( ‘Y-m-d H:i:s T’ ) . ‘ ] ‘;   
  9.   $content .= ‘页面生成时间 ‘;   
  10.   $content .= timer_stop( $display = 0, $precision = 2 );   
  11.   $content .= ‘ 查询 ‘;   
  12.   $content .= get_num_queries();  
  13.   $content .= ‘ 次’;   
  14.   if( ! current_user_can( ‘administrator’ ) )   
  15.   $content = “”;   
  16.   echo $content;   
  17. }  

至于如何进行这块的优化,在我爱水煮鱼中有很多关闭无用功能的技巧,你可以按照自己的需求来搜索一下。
  找个靠谱的主机
  当然,最重要的也就是找个靠谱的主机了,首先是推荐备案选择国内主机,貌似备案也不是多难,只是过程等待时间略长了点。目前WordPress主题站使用的是阿里云的服务器,效果非常棒!

收购已备案域名注销后再备案的流程

申请备案的时候,才发现,域名原来已经有了备案,在审核的时候被退回,被告知要先注销原有备案,在经过了一个多星期的申请和操作以后,现在终于已经重新申请备案了,目前通信管理局已经受理备案。以前看到很多朋友问到这样的问题,现就整理下我的操作经历,供大家参考。

一、备案注销流程

1、先查询域名是否备案,查询网站:信息产业部域名备案信息查询平台(点击进入查询地址);

2、到所在地省级通信管理局网站下载域名备案注销申请表;

3、填写域名备案注销申请表,这个表比较简单,应该各省都差不多;(安徽省ICP用户注销备案申请表)

4、填写表格信息,这个表如下:
2014091763330165.jpg

5、注意:如果是注销别人的备案,就填域名依据,如果是注销自己的,就填主体依据。

6、填好以后,提供个人身份证,域名证书,等相关资料,邮寄到通信管理局即可。

二、相关备案填表说明

以下内容在下载的表格后面后,不必打印,请只打印申请表,另附上相关证件一并邮寄即可(说明内容仅适用于安徽省,外省请自行在当地通管局下载)。

1. 本申请表仅适用于不能主动注销的备案信息申请。

2. 提交申请时,请确保所填写备案信息(如域名,主办单位证件号码等)的准确,确认是主体冲突还是域名冲突,并在备案管理系统的“公共查询”中查询;若备案号(主体)为安徽省以外的,请找相关省通信管理局处理。

3. 注销备案是指注销已通过备案审核且有备案号的备案信息。填表Ⅰ、Ⅱ时,请选择类别、申请依据并附上相关依据证件。

4. 请根据以上情况使用A4打印纸打印《注销备案申请表》,纸张不符或未准确清晰完整填写者,视为无效申请。

5. 注销他单位备案必须提供盖有公章的申请表、域名证书复印件和单位有效证件(如企业提供企业营业执照副本复印件等);个人则提供申请表、域名证书复印件和个人身份证复印件。

6.注销本单位备案须提供盖有公章的申请表和单位有效证件(如企业提供企业营业执照副本复印件等);个人则提供申请表和个人身份证复印件。

7.递交方式:

邮寄:安徽省合肥市濉溪路278号财富广场首座7楼省通信管理局710室

8.收到申请后,将在5个工作日内给予处理,请申请人自行在备案系统“公共查询”核实处理结果。

Myfav.es 制作个性化云端首页,你的专属网站墙

Myfav.es2014-09-09_0934.png
想为自己的浏览器打造一只个性化的个人首页吗?或许你可以考虑试试看Myfav.es 线上服务。这是一个让使用者能够自订首页链结的网路服务,只要从中选择你常用的网站,即可将它们的图示加入、制作为一个相当有质感的首页,当你把Myfav.es 设定成浏览器首页后,未来就能从你自制的页面快速选择想要开启的网站或链结。

Myfav.es 只要简单的三个步骤,选择你要加入首页的网站、自订图示风格、背景,最后选择一个个性化网址,轻松就能建立属于自己的上网起始页面。

Myfav.es2014-09-10_0843.png

Myfav.es 的特色是自由度很​​高,制作出来的首页也很有质感,可自订图示、背景和样式,内建许多常用网站的图示,若你要加入的网站不在服务清单内,也可以自己上传、新增图示。 Myfav.es 支援所有浏览器,包括常见的IE、Firefox、Google Chrome,如果你想从多台电脑存取你的Myfav.es 首页,只要将页面设定为公开(Public)显示即可。

网站名称:Myfav.es
网站链结:https://www.myfav.es/

使用教学

STEP 1
开启Myfav.es 后,先点选Go 或右上角的Sign Up Free 来注册一个帐户,直接使用Facebook、Twitter、Google 或OpenID 帐户授权,登入后就能立即使用。

Myfav.es2014-09-09_0935.png

STEP 2
注册后选择一个好记的使用者名称,这会成为你的Myfav.es 首页网址,例如:https://www.myfav.es/pseric,如果你希望你的Myfav.es 首页是公开的,其他人都能存取的话,记得把下方的Make Your Myfav.es Page Public 勾选起来,让你的首页变成公开状态。

Myfav.es2014-09-09_0948.png

STEP 3
设定完个人网址后,点选上方的Add Sites 开始加入网站吧!

Myfav.es2014-09-09_0949.png

STEP 4
点选网站右方的「+」号,从网站列表内将常用的网站新增到你的Myfav.es 首页,例如Facebook、YouTube、Google、Gmail 等等。

Myfav.es2014-09-09_1559.png

STEP 5
如果你加入的是Myfav.es 内建的网站,那会跳出很多种图示让你自由选择。

Myfav.es2014-09-09_1602.png

STEP 6
若你要加入的网站不在Myfav.es 提供的网站清单里,点选上方的Make an Icon 来上传你要加入首页的网站图示,上传后还能调整图示大小、背景、边框颜色和阴影等等。

Myfav.es2014-09-09_1604.png

STEP 7
最后,从My Faves 里检视你要加入首页的网站列表,看看这些链结有没有需要调整或修改的项目。

Myfav.es2014-09-09_1608.png

STEP 8
从Customize Page 里调整首页要呈现图示的版面配置,以及图示样式、背景等等,完成后点选右边的See Your Page in Action 就能浏览你所建立的首页啰!

Myfav.es2014-09-09_1610.png

STEP 9
下图是我用Myfav.es 所建立的个人首页,里头收录了我常用的网站、网路服务,例如Facebook、Google、维基百科、Dropbox 和免费资源网路社群,有兴趣的朋友可以直接存取https://www.myfav.es/pseric 来浏览显示效果。

Myfav.es2014-09-09_1611.png

Myfav.es 所制作出来的首页相当有质感,而且看起来跟浏览器很搭,对了,如果你想在首页内放入搜寻框,输入后可以快速进入搜寻引擎查找相关内容的话,可以在Customize Page 里的Tweaks 找到相关设定选项。

php.ini – 配置文件详解

这里主要解释一下PHP.ini的一些配置解释!
[root@taokey ~]# grep -v “;” /application/php/lib/php.ini
[PHP]
engine = On ——→ 是否启用PHP解析引擎
short_open_tag = Off ——→ 是否使用简介标志
asp_tags = Off ——→ 不允许asp类标志
precision = 14 ——→ 浮点型数据显示的有效期
y2k_compliance = On
####是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)。
output_buffering = 4096 ——→ 输出缓冲区大小(字节)。建议值为4096~8192。
zlib.output_compression = Off ——→ 是否开启zlib输出压缩
implicit_flush = Off ——→ 是否要求PHP输出层在每个输出块之后自动刷新数据
这等效于在每个 print()、echo()、HTML块 之后自动调用flush()函数。打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。在CLI SAPI的执行模式下,该指令默认为 On 。
unserialize_callback_func =
serialize_precision = 17
####将浮点型和双精度型数据序列化存储时的精度(有效位数)。默认值能够确保浮点型数据被解序列化程序解码时不会丢失数据。
allow_call_time_pass_reference = Off
####是否强迫在函数调用时按引用传递参数(每次使用此特性都会收到一条警告)。
; php反对这种做法,并在将来的版本里不再支持,因为它影响到了代码的整洁。
; 鼓励的方法是在函数声明里明确指定哪些参数按引用传递。
; 我们鼓励你关闭这一选项,以保证你的脚本在将来版本的语言里仍能正常工作。
safe_mode = Off ——→ 安全模式
safe_mode_gid = Off
safe_mode_include_dir =
#在安全模式下,该组目录和其子目录下的文件被包含时,将跳过UID/GID检查。换句话说,如果此处的值为空,任何UID/GID不符合的文件都不允许被包含。这里设置的目录必须已经存在于include_path指令中或者用完整路径来包含。多个目录之间用冒号(Win下为分号)隔开。指定的限制实际上是一个前缀,而非一个目录名。
safe_mode_exec_dir = ——→ 安全模式下的可执行文件存放目录
safe_mode_allowed_env_vars = PHP_
####在安全模式下,用户仅可以更改的环境变量的前缀列表(逗号分隔)。允许用户设置某些环境变量,可能会导致潜在的安全漏洞。注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量。
safe_mode_protected_env_vars = LD_LIBRARY_PATH
####在安全模式下,用户不能更改的环境变量列表(逗号分隔)。这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。
disable_functions = ——→ 该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。
disable_classes = ——→ 该指令接受一个用逗号分隔的类名列表,以禁用特定的类
zend.enable_gc = On ——→
expose_php = On ——→ 在网页头部显示php信息
max_execution_time = 30 ——→ 每个脚本最大执行秒数
max_input_time = 60 ——→ 每个脚本用来分析请求数据的最大限制时间
memory_limit = 128M ——→ 每个脚本执行的内存限制
error_reporting = E_ALL & ~E_DEPRECATED
display_errors = Off ——→ #显示失误(该关闭,换成日志显示)
display_startup_errors = Off ——→ #显示启动失误
log_errors = On ——→ 生成错误错误日志显示
log_errors_max_len = 1024 ——→ 设定error_log最大长度
ignore_repeated_errors = Off ——→ 打开后,不记录重复的信息
ignore_repeated_source = Off ——→ 打开后当记录重复的信息时忽略来源
report_memleaks = On ——→ 报告内存泄露,仅在debug编译模式下有效
track_errors = Off ——→ ####在$php_errormsg中保存最后一次错误/警告消息 (逻辑值).永远不要再生产环境中使用此特性:html_errors 会显示php错误所在的html标签
html_errors = Off ——→ 是否开启静态网页错误提示
variables_order = “GPCS” ——→ ####此指令描述了PHP注册GET, POST, Cookie, 环境 和 内置变量的顺序 (各自使用G, P, C, E 和 S , 一般使用 EGPCS 或 GPC). 注册使用从左往右的顺序, 新的值会覆盖旧的值.
request_order = “GP”
####此指令描述的顺序PHP注册GET,POST和COOKIE变量_REQUEST数组。注册是由左到右,新的值将覆盖旧值。如果这个指令没有设置,variables_order中使用$ _REQUEST内容。请注意,默认分配的php.ini文件中不包含’C’饼干,出于安全方面的考虑。
register_globals = Off ——→ ##是否打开register全局变量
register_long_arrays = Off
####是否注册老形式的输入数组, HTTP_GET_VARS 和相关数组;如果你不使用他们,建议为了提高性能关闭他们.
register_argc_argv = Off
####此指令让PHP确认是否申明 argv&argc 变量 (这些变量会包含GET信息). ;如果你不使用这些变量,为了提升性能应该关闭此选项.
auto_globals_jit = On
####当打开此项, SERVER 和 ENV 变量将在第一次被使用时而不是脚本一开始时创建(运行时);如果这些变量在脚本中没有被使用过, 打开此项会增加一点性能.;为了使此指令有效,PHP指令 register_globals, register_long_arrays,;以及 register_argc_argv 必须被关闭.
post_max_size = 8M ——→ #PHP可以接受的最大的POST数据大小
magic_quotes_gpc = Off ——→ #针对GET/POST/Cookie数据打开Magic quotes.
magic_quotes_runtime = Off
####针对实时产生的数据打开Magic quotes,例如从SQL获取的数据, 从exec()返回的数据等等.
magic_quotes_sybase = Off ##使用 Sybase 风格的 magic quotes (使用”来引导’替代\’).
auto_prepend_file = ——→ #在任何PHP文档之前或之后自动增加文件
auto_append_file =
####两个有趣的变量是auto_prepend_file以及auto_append_file。这些变量指定PHP自动添加到任何PHP文档文件头或文件尾的其他文件。这对于为PHP产生的页面添加页眉或页脚非常有用,可以节省为每个PHP文档添加代码的时间。但需要注意这里的指定文件将会添加到所有的PHP文档中,所以这些变量必须适合单应用程序(single-application)的服务器。所包含的文件要么是PHP脚本,要么是普通的HTML文档。嵌入式PHP代码必须用标准<?php…?>标记括起来。
default_mimetype = “text/html” ——→ #PHP内建默认为text/html
doc_root = ——→ #PHP的”根目录”。仅在非空时有效。
; 如果safe_mode=On,则此目录之外的文件一概被拒绝。 ; 如果编译PHP时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行, ; 则必须设置此指令(参见手册中的安全部分)。 ; 替代方案是使用的cgi.force_redirect指令
user_dir =
####告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。 也就是在用户目录之下使用PHP文件的基本目录名,例如:”public_html”
enable_dl = Off
####是否允许使用dl()函数。dl()函数仅在将PHP作为apache模块安装时才有效。 禁用dl()函数主要是出于安全考虑,因为它可以绕过open_basedir指令的限制。 在安全模式下始终禁用dl()函数,而不管此处如何设置。
file_uploads = On 是否开启上传功能
upload_max_filesize = 2M #最大可上传文件,2M
max_file_uploads = 20 最大同时可以上传20个文件
allow_url_fopen = On #是否允许打开远程文件
allow_url_include = Off #是否允许include/require远程文件
default_socket_timeout = 60 默认的socket超时时间
[Date] 日期
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000 ——→ Ped_mysql的缓存大小
pdo_mysql.default_socket= ——→ 默认的socket时间
[Phar]
[Syslog]
define_syslog_variables = Off ——→ 是否定义各种的系统日志变量
[mail function] ——→ 邮件功能
SMTP = localhost ——→ 本地作为邮件服务器
smtp_port = 25 邮件端口号默认是25
mail.add_x_header = On ——→ 是否开启最大的header
[SQL]
sql.safe_mode = Off
####是否使用SQL安全模式。如果打开,指定默认值的数据库连接函数将会使用这些默认值代替支持的参数。对于每个不同数据库的连接函数,其默认值请参考相应的手册页面。
[ODBC]
odbc.allow_persistent = On ——→ 允许或阻止持久连接.
odbc.check_persistent = On ——→ 在重用前检查连接是否可用
odbc.max_persistent = -1 ——→ 持久连接的最大数目,-1意味着没有限制.
odbc.max_links = -1 ——→ 最大连接数(持久 + 非持久).-1意味着没有限制.
odbc.defaultlrl = 4096 ——→ 长字段处理.返回变量的字节数.0 意味着略过.
odbc.defaultbinmode = 1
####二进制数据处理.0意味着略过,1按照实际返回,2转换到字符.;查看odbc_binmode和odbc_longreadlen 的文档来获取针对uodbc.defaultlrl和uodbc.defaultbinmode的解释
[Interbase] ——→ Interbase数据库
ibase.allow_persistent = 1 ——→ 允许或组织持久连接。
ibase.max_persistent = -1 ——→ 持久连接的最大数目,-1意味着没有限制.
ibase.max_links = -1 ——→ 最大连接数(持久 + 非持久).-1意味着没有限制.
ibase.timestampformat = “%Y-%m-%d %H:%M:%S” ——→ 数据库时间记录模式
ibase.dateformat = “%Y-%m-%d”
ibase.timeformat = “%H:%M:%S”
[MySQL]
mysql.allow_local_infile = On ——→ 是否允许本地文件连接数据库
mysql.allow_persistent = On ——→ 允许或禁止 持久连接
mysql.cache_size = 2000 ——→ mysql缓存大小
mysql.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
mysql.max_links = -1 ——→ 连接的最大数目(持久和非持久)。-1 代表无限制
mysql.default_port =
####mysql_connect() 使用的默认端口,如不设置,mysql_connect()
;将使用变量 $MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 条目(unix),
;或在编译是定义的 MYSQL_PORT(按这样的顺序)
;Win32环境,将仅检查MYSQL_PORT。
mysql.default_socket =
####用于本地 MySql 连接的默认的套接字名。为空,使用 MYSQL 内建值
mysql.default_host = ——→ mysql_connect() 默认使用的主机(安全模式下无效)
mysql.default_user = ——→ mysql_connect() 默认使用的用户名(安全模式下无效)
mysql.default_password = ——→ mysql_connect() 默认使用的密码(安全模式下无效
mysql.connect_timeout = 60 ——→ 连接超时时间,默认是60s
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
mysqli.allow_persistent = On ——→ 允许或拒绝之久连接
mysqli.max_links = -1 ——→ 最大连接数. -1 意味着没有限制.
mysqli.cache_size = 2000 ——→ 连接缓存大小
mysqli.default_port = 3306 ——→ 连接端口号
####mysqli_connect()默认的端口号.如果没有设置, mysql_connect() 会使用 $MYSQL_TCP_PORT;或者 位于/etc/services的 mysql-tcp 入口或者编译时定义的MYSQL_PORT 值(按照此顺序查找).;Win32 只会查找MYSQL_PORT值.
mysqli.default_socket =
####对于本地MySQL连接的默认socket名称. 如果为空, 则使用MySQL内建默认值.
mysqli.default_host =
####mysqli_connect()的默认host值(在安全模式中不会生效)
mysqli.default_user =
####mysqli_connect()的默认user值(在安全模式中不会生效).
mysqli.default_pw =
####mysqli_connect() 的默认password值(在安全模式中不会生效).
; 注意在此文件中保存密码一般来说是 *糟糕* 的主义.
; *任何* 使用PHP的用户可以执行 ‘echo get_cfg_var(“mysqli.default_password”)
; 并且获取到此密码! 而且理所当然, 任何有对此文件读权限的用户都可以获取到此密码.
mysqli.reconnect = Off ——→ 允许或阻止持久连接
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On ——→ 允许或阻止持久连接.
pgsql.auto_reset_persistent = Off
####总是在 pg_pconnect() 时检测断开的持久连接.;自动重置特性会引起一点开销.
pgsql.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
pgsql.max_links = -1 ——→ 最大连接数 (持久 + 非持久). -1 意味着没有限制
pgsql.ignore_notice = 0 ——→ 是否忽略 PostgreSQL 后端通告消息.;通告消息记录会需要一点开销.
pgsql.log_notice = 0
####是否记录 PostgreSQL 后端通告消息.;除非 pgsql.ignore_notice=0, 否则模块无法记录通告消息。
[Sybase-CT]
sybct.allow_persistent = On ——→ 允许或阻止持久连接.
sybct.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
sybct.max_links = -1 ——→ 最大连接数 (持久 + 非持久). -1 意味着没有限制.
sybct.min_server_severity = 10 ——→ 显示出的错误最小严重程度.
sybct.min_client_severity = 10 ——→ 显示出的消息最小严重程度
[bcmath]
bcmath.scale = 0 ——→ #用于所有bcmath函数的10十进制数数字的个数
[browscap]
[Session]
session.save_handler = files ——→ 用于保存/取回数据的控制方式
session.use_cookies = 1 ——→ 是否使用cookies
session.use_only_cookies = 1
####这个选项允许管理员去保护那些在URL中传送session id的用户免于被攻击;默认是0.
session.name = PHPSESSID ——→ session 的名字(同时作为cookie的名称
session.auto_start = 0 ——→ 在请求开始时初始化 session
session.cookie_lifetime = 0 ——→ cookie的存活秒数,如果为0,则是直到浏览器重新启动
session.cookie_path = / ——→ cookie的有效路径
session.cookie_domain = ——→ cookie的有效域名
session.cookie_httponly =
####是否将httpOnly标志增加到cookie上,
增加后则cookie无法被浏览器的脚本语言(例如JavaScript)存取.
session.serialize_handler = php 用于序列化数据的处理器. php是标准的PHP序列化器.
session.gc_probability = 1
####; 定义’垃圾回收’进程在每次session初始化时开始的比例.
; 比例由 gc_probability/gc_divisor来得出,
; 例如. 1/100 意味着在每次请求时有1%的机会启动’垃圾回收’进程.
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
####在这里数字所指的秒数后,保存的数据将被视为’碎片(garbage)’并由gc进程清理掉。
session.bug_compat_42 = Off
####PHP 4.2 和更早版本有一个未公开的 特性/bug , 此特性允许你在全局初始化一个session变量,即便 register_globals已经被关闭.;如果此特性被使用,PHP 4.3 和更早版本会警告你.;你可以关闭此特性并且隔离此警告. 这时候,如果打开bug_compat_42,那此警告只是被显示出来.
session.bug_compat_warn = Off
session.referer_check =
####检查HTTP Referer来防止带有id的外部URL.;HTTP_REFERER 必须包含从session来的这个字段才会被认为是合法的.
session.entropy_length = 0 ——→ 从此文件读取多少字节
session.cache_limiter = nocache
####设置为{nocache,private,public,}来决定HTTP缓冲的类型;留空则防止发送anti-caching头.
session.cache_expire = 180 ——→ 文档在n分钟之后过期.
session.use_trans_sid = 0
####trans sid 支持默认关闭.
;使用 trans sid 可能让你的用户承担安全风险.;使用此项必须小心.; – 用户也许通过email/irc/其他途径发送包含有效的session ID的URL给其他人.; – 包含有效session ID的URL可能被存放在容易被公共存取的电脑上.; – 用户可能通过在浏览器历史记录或者收藏夹里面的包含相同的session ID的URL来访问你的站点.
session.hash_function = 0 ——→ 选择hash方法;0:MD5(128 bits);1:SHA-1(160 bits)
session.hash_bits_per_character = 5
; 当转换二进制hash数据到可读形式时,每个字符保存时有几位.
; 4 bits: 0-9, a-f; 5 bits: 0-9, a-v; 6 bits: 0-9, a-z, A-Z, “-“, “,”
url_rewriter.tags = “a=href,area=href,frame=src,input=src,form=fakeentry”
URL rewriter会在已经定义的一组HTML标签内查找URL.; form/fieldset 是特殊字符; 如果你在这里包含他们, rewriter会增加一个包含信息的隐藏字段否则就是在URL中附加信息.; 如果你你想遵守XHTML, 删除form的入口.; 注意 所有合法的入口都需要一个”=”符号, 甚至是没有任何值的.
[MSSQL]
mssql.allow_persistent = On ——→ 允许或阻止持久连接
mssql.max_persistent = -1 ——→ 持久连接的最大数目. -1 意味着没有限制.
mssql.max_links = -1 ——→ 最大连接数 (持久 + 非持久). -1 意味着没有限制.
mssql.min_error_severity = 10 ——→ 显示出的错误最小严重程度.
mssql.min_message_severity = 10 ——→ 显示出的消息最小严重程度
mssql.compatability_mode = Off ——→ PHP 3.0 老版本的兼容模式.
mssql.secure_connection = Off ——→ 当连接到服务器时使用NT验证
[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
当调用tidy时,默认指向tidy配置文件的路径 tidy是否自动清除和修复输出?; 警告: 不要在你产生非html内容时使用此项,例如产生动态图片时
tidy.clean_output = Off 清除功能是否开启,本文中为关闭状态
[soap]
soap.wsdl_cache_enabled=1 ——→ 打开或关闭WSDL缓冲特性.
soap.wsdl_cache_dir=”/tmp” ——→ 设置SOAP扩展存放缓冲文件的目录
soap.wsdl_cache_ttl=86400——→(存活时间)设置当缓冲文件被用来替换原有缓冲文件的秒数
soap.wsdl_cache_limit = 5 ——→ 最小缓存
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]
[xsl]

WordPress主机不支持fsockopen()函数的解决方法

出现如下代码:

  1. Warning: fsockopen() has been disabled for security reasons in /home/~/domains/luckb.com/public_html/wp-includes/class-snoopy.php on line 1142  
  2. Warning: Cannot modify header information – headers already sent by (output started at /home/~/domains/luckb.com/public_html/wp-includes/class-snoopy.php:1142) in /home/~/domains/luckb.com/public_html/wp-includes/pluggable.php on line 868  

是因为有的linux服务器为了考虑安全性,服务器关闭了fsockopen()函数。
解决办法:
方法一:经过phpinfo()查看确实没有启用fsockopen()和pfsockopen()两函数,在错误提示文件wp-includes/class-snoopy.php的文件头添加:

  1. @error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);  

方法二:打开错误提示文件wp-includes/class-snoopy.php的文件,将fsockopen()函数替换成@fsockopen()函数即可,如:

  1. if($fp =@fsockopen(  
  2. $host,  
  3. $port,  
  4. $errno,  
  5. $errstr,  
  6. $this->_fp_timeout  
  7. ))  
  8. {  
  9. // socket connection succeeded  
  10. return true;  
  11. }  

网站备案关站技巧 减少关站损失

网站服务器放在内地的网站都要备案,而备案需要数天,备案过程是需要关站的,其实只要在审核员查看之前关站就行,但是我们不知道什么时候转交到审核员那里,所以我们只能在提交备案后就开始准备关站了。网上一些快速备案服务可以不关站,但是价格稍贵,而且骗子还很多。
火端网络现在就介绍一下如何减少关站的损失:
  ★其实关站我们只需关掉首页就可以了,内页完全不必要关掉,审核员只会打开网站首页;
  ★很多网站都是首页流量大,首页关掉的话损失也大。其实我们可以保留一些用户的访问,比如来自搜索引擎的访客、其它网站带来的访客,下面火端网络就分享一下自己写的PHP代码,尽可能减少损失。
  ★我们还可以只在工作时间关闭首页,其它时间可以正常访问;
  以下是PHP代码,每个网站放的位置可能不一样,只是给出思路和方法:

  1. /** 
  2.  *  
  3.  * @Author: http://www.huoduan.com 
  4.  * @ Email: admin@huoduan.com 
  5.  * @  date: 2014-07-03 
  6.  */  
  7. //判断访客是否是搜索引擎蜘蛛  
  8. function hd_isSpider() {  
  9.         $agent= strtolower($_SERVER[‘HTTP_USER_AGENT’]);  
  10.         if (!empty($agent)) {  
  11.                 $spiderSite= array(  
  12.                         “Baiduspider”,  
  13.                         “Googlebot”,  
  14.                         “Sogou Spider”,  
  15.                          “360Spider”,  
  16.                 );  
  17.                 foreach($spiderSite as $val) {  
  18.                         $str = strtolower($val);  
  19.                         if (strpos($agent, $str) !== false) {  
  20.                                 return $str;  
  21.                         }  
  22.                 }  
  23.         } else {  
  24.                 return false;  
  25.         }  
  26. }  
  27.   
  28. function hd_ref(){  
  29.     $ref = $_SERVER[‘HTTP_REFERER’];  
  30.     //下面是开放的来源包含的字符,可以自定义添加,把第三方统计的主要来源域名都加上减少损失  
  31.     $from = ‘.baidu.com|.so.com|so.360.cn|.sm.cn|.sogou.com|.google.|.soso.com|.qq.com|weibo.com’;  
  32.     $from = trim($from,’|’);  
  33.     $froms = explode(‘|’, $from);  
  34.     foreach ($froms as $k => $v) {  
  35.         if(strpos($ref,$v)){  
  36.             return true;  
  37.             break;  
  38.         }  
  39.     }  
  40.     return false;  
  41. }  

如果担心备案关站过程中百度降权,可以在百度站长平台开启“临时闭站”功能。备案是个麻烦事,但是网站要做大不备案真不行,忍忍吧~苦逼的站长们。

wordpress301转向最好的方式

今天把原来做为顶米的论坛取消了,坛子人气一直上不去,再加上这两天经常搬家,DZ的云平台又麻烦。

所以以后这个顶米就直接用在这个博客上了。欢迎以后用这个米登陆啊!

既然换了域名,那原来的老链接丢失怎么办,所以就网上找了些关于301跳转的帖子,发现有不少都很麻烦,要么就是告诉你去空间控制面板去做跳转,要么就是去修改代码,到底有木有那么麻烦啊。这里我把最容易的办法告诉你,一步步来:

1、先跑去把老域名,如:blog.mf158.com解析到新的空间来(就是和新域名一个空间),我是新建了个子域名绑上!

2、进到老域名空间的根目录里添加一个.htaccess,代码为:
RewriteEngine on
RewriteRule ^(.*)$ https://freekk.cn/$1 [R=301,L]

上传!

3、把新域名和站点建好,导进数据库,修改数据库几个表就完事了,不懂这步的看这里:

wordpress换域名后修改数据库的方法

完了以后,打开老的链接,如原来我的:http://blog.mf158.com/3505.html 现在打开就已经自动跳转到新的了!

完全无缝,不用怕丢失搜索引擎的来源了!估计过个把月,就可以把301转向取消了。

IE7,IE8无法登录FTP的解决办法

由于IE7开始,微软加强了安全的问题,因此默认的设置,IE7以上的版本可能无法登录FTP,但经过简单的设置之后,也是可以登录的。

通过FTP工具可以访问,但通过IE无法访问,说明FTP服务器是正常的,无法访问应该是FTP服务器所采用的传输模式与IE默认使用的传输模式不相应所造成的,调整一下IE设置即可解决问题。

1、打开“工具”菜单下的“Internet选项”命令

2、将打开的窗口切换到“高级”标签,改变其中的“使用被动FTP(为防火墙和DSL调制解调器兼容性)”选项的状态,然后单击“确定”按钮保存修改即可。


另外,做这个设置后,登录后可能会做这样的提示:

若要在 Windows 资源管理器中查看此 FTP 站点,请单击“页面”,然后单击“在 Windows 资源管理器中打开 FTP”

大家只要找到这里所说的“页面”,就可以了,“页面”的位置是在浏览器导航的右侧,有“页面”,“安全”,“工具”等,点击这里的“页面”,再点最后一项“在 Windows 资源管理器中打开 FTP”。,届时会弹出一个FTP账号和密码输入窗口,大家再次输入进去就可以了。