<?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; cms技巧</title>
	<atom:link href="http://1.17sky.cn/category/tech/feed" rel="self" type="application/rss+xml" />
	<link>http://1.17sky.cn</link>
	<description></description>
	<lastBuildDate>Wed, 15 Feb 2017 16:39:58 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>密码保护：我的日记</title>
		<link>http://1.17sky.cn/626.html</link>
		<comments>http://1.17sky.cn/626.html#comments</comments>
		<pubDate>Thu, 31 Jan 2013 16:21:30 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=626</guid>
		<description><![CDATA[无法提供摘要。这是一篇受保护的文章。]]></description>
				<content:encoded><![CDATA[<form action="http://1.17sky.cn/wp-login.php?action=postpass" class="post-password-form" method="post">
<p>这是一篇受密码保护的文章，您需要提供访问密码：</p>
<p><label for="pwbox-626">密码： <input name="post_password" id="pwbox-626" type="password" size="20" /></label> <input type="submit" name="Submit" value="提交" /></p>
</form>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/626.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wordpress中添加关键词和描述</title>
		<link>http://1.17sky.cn/393.html</link>
		<comments>http://1.17sky.cn/393.html#comments</comments>
		<pubDate>Thu, 29 Nov 2012 00:55:02 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=393</guid>
		<description><![CDATA[打开博客根目录，wp-content/themes/你的主题目录（一般不更改就是 &#8230; <a href="http://1.17sky.cn/393.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>打开博客根目录，wp-content/themes/你的主题目录（一般不更改就是twentyeleven）下面的header.php文件，在<span id="more-393"></span></p>
<p>&lt;title&gt;&lt;?php bloginfo(‘name’); ?&gt; &lt;?php wp_title( ‘|’, true, ‘right’ ); ?&gt;&lt;/title&gt;</p>
<p>后面加入下面的代码,如果找不到,就添加到title之后，&lt;/head&gt;之前就可以了。</p>
<p>&lt;title&gt;标题&lt;/title&gt;<br />
&lt;meta name=&#8221;keywords&#8221; content = &#8220;关键词&#8221; /&gt;<br />
&lt;meta name=&#8221;description&#8221;  content=&#8221;描述&#8221; /&gt;</p>
<p>把上面的关键词（Keywords）、描述（Description）修改成自己首页要设置的关键词,而文章的关键词就是自己定义的TAG..</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/393.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php和apache配置与配置多站点</title>
		<link>http://1.17sky.cn/381.html</link>
		<comments>http://1.17sky.cn/381.html#comments</comments>
		<pubDate>Sun, 25 Nov 2012 14:34:40 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>
		<category><![CDATA[php与mysql参考]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=381</guid>
		<description><![CDATA[httpd.conf # # This is the main Apache H &#8230; <a href="http://1.17sky.cn/381.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>httpd.conf</strong><br />
#<br />
# This is the main Apache HTTP server configuration file.  It contains the<br />
# configuration directives that give the server its instructions.<span id="more-381"></span><br />
# See &lt;<a href="http://httpd.apache.org/docs/2.2">URL:http://httpd.apache.org/docs/2.2</a>&gt; for detailed information.<br />
# In particular, see<br />
# &lt;<a href="http://httpd.apache.org/docs/2.2/mod/directives.html">URL:http://httpd.apache.org/docs/2.2/mod/directives.html</a>&gt;<br />
# for a discussion of each configuration directive.<br />
#<br />
# Do NOT simply read the instructions in here without understanding<br />
# what they do.  They&#8217;re here only as hints or reminders.  If you are unsure<br />
# consult the online docs. You have been warned. <br />
#<br />
# Configuration and logfile names: If the filenames you specify for many<br />
# of the server&#8217;s control files begin with &#8220;/&#8221; (or &#8220;drive:/&#8221; for Win32), the<br />
# server will use that explicit path.  If the filenames do *not* begin<br />
# with &#8220;/&#8221;, the value of ServerRoot is prepended &#8212; so &#8220;logs/foo.log&#8221;<br />
# with ServerRoot set to &#8220;E:/Apache&#8221; will be interpreted by the<br />
# server as &#8220;E:/Apache/logs/foo.log&#8221;.<br />
#<br />
# NOTE: Where filenames are specified, you must use forward slashes<br />
# instead of backslashes (e.g., &#8220;c:/apache&#8221; instead of &#8220;c:\apache&#8221;).<br />
# If a drive letter is omitted, the drive on which httpd.exe is located<br />
# will be used by default.  It is recommended that you always supply<br />
# an explicit drive letter in absolute paths to avoid confusion.</p>
<p>#<br />
# ServerRoot: The top of the directory tree under which the server&#8217;s<br />
# configuration, error, and log files are kept.<br />
#<br />
# Do not add a slash at the end of the directory path.  If you point<br />
# ServerRoot at a non-local disk, be sure to point the LockFile directive<br />
# at a local disk.  If you wish to share the same ServerRoot for multiple<br />
# httpd daemons, you will need to change at least LockFile and PidFile.<br />
#<br />
<span style="color: #ff0000;">ServerRoot &#8220;E:/Apache&#8221;  </span></p>
<p><span style="color: #ff0000;">#注释:apache服务器所在目录</span></p>
<p>#<br />
# Listen: Allows you to bind Apache to specific IP addresses and/or<br />
# ports, instead of the default. See also the &lt;VirtualHost&gt;<br />
# directive.<br />
#<br />
# Change this to Listen on specific IP addresses as shown below to<br />
# prevent Apache from glomming onto all bound IP addresses.<br />
#<br />
#Listen 12.34.56.78:80<br />
<span style="color: #ff0000;">Listen 80 </span></p>
<p><span style="color: #ff0000;">#注释:运行端口</span></p>
<p>#<br />
# Dynamic Shared Object (DSO) Support<br />
#<br />
# To be able to use the functionality of a module which was built as a DSO you<br />
# have to place corresponding `LoadModule&#8217; lines at this location so the<br />
# directives contained in it are actually available _before_ they are used.<br />
# Statically compiled modules (those listed by `httpd -l&#8217;) do not need<br />
# to be loaded here.<br />
#<br />
# Example:<br />
# LoadModule foo_module modules/mod_foo.so<br />
#<br />
LoadModule actions_module modules/mod_actions.so<br />
LoadModule alias_module modules/mod_alias.so<br />
LoadModule asis_module modules/mod_asis.so<br />
LoadModule auth_basic_module modules/mod_auth_basic.so<br />
#LoadModule auth_digest_module modules/mod_auth_digest.so<br />
#LoadModule authn_alias_module modules/mod_authn_alias.so<br />
#LoadModule authn_anon_module modules/mod_authn_anon.so<br />
#LoadModule authn_dbd_module modules/mod_authn_dbd.so<br />
#LoadModule authn_dbm_module modules/mod_authn_dbm.so<br />
LoadModule authn_default_module modules/mod_authn_default.so<br />
LoadModule authn_file_module modules/mod_authn_file.so<br />
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so<br />
#LoadModule authz_dbm_module modules/mod_authz_dbm.so<br />
LoadModule authz_default_module modules/mod_authz_default.so<br />
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so<br />
LoadModule authz_host_module modules/mod_authz_host.so<br />
#LoadModule authz_owner_module modules/mod_authz_owner.so<br />
LoadModule authz_user_module modules/mod_authz_user.so<br />
LoadModule autoindex_module modules/mod_autoindex.so<br />
#LoadModule cache_module modules/mod_cache.so<br />
#LoadModule cern_meta_module modules/mod_cern_meta.so<br />
LoadModule cgi_module modules/mod_cgi.so<br />
#LoadModule charset_lite_module modules/mod_charset_lite.so<br />
#LoadModule dav_module modules/mod_dav.so<br />
#LoadModule dav_fs_module modules/mod_dav_fs.so<br />
#LoadModule dav_lock_module modules/mod_dav_lock.so<br />
#LoadModule dbd_module modules/mod_dbd.so<br />
#LoadModule deflate_module modules/mod_deflate.so<br />
LoadModule dir_module modules/mod_dir.so<br />
#LoadModule disk_cache_module modules/mod_disk_cache.so<br />
#LoadModule dumpio_module modules/mod_dumpio.so<br />
LoadModule env_module modules/mod_env.so<br />
#LoadModule expires_module modules/mod_expires.so<br />
#LoadModule ext_filter_module modules/mod_ext_filter.so<br />
#LoadModule file_cache_module modules/mod_file_cache.so<br />
#LoadModule filter_module modules/mod_filter.so<br />
#LoadModule headers_module modules/mod_headers.so<br />
#LoadModule ident_module modules/mod_ident.so<br />
#LoadModule imagemap_module modules/mod_imagemap.so<br />
LoadModule include_module modules/mod_include.so<br />
#LoadModule info_module modules/mod_info.so<br />
LoadModule isapi_module modules/mod_isapi.so<br />
#LoadModule ldap_module modules/mod_ldap.so<br />
#LoadModule logio_module modules/mod_logio.so<br />
LoadModule log_config_module modules/mod_log_config.so<br />
#LoadModule log_forensic_module modules/mod_log_forensic.so<br />
#LoadModule mem_cache_module modules/mod_mem_cache.so<br />
LoadModule mime_module modules/mod_mime.so<br />
#LoadModule mime_magic_module modules/mod_mime_magic.so<br />
LoadModule negotiation_module modules/mod_negotiation.so<br />
#LoadModule proxy_module modules/mod_proxy.so<br />
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so<br />
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so<br />
#LoadModule proxy_connect_module modules/mod_proxy_connect.so<br />
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so<br />
#LoadModule proxy_http_module modules/mod_proxy_http.so<br />
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so<br />
#LoadModule reqtimeout_module modules/mod_reqtimeout.so<br />
<span style="color: #ff0000;">LoadModule rewrite_module modules/mod_rewrite.so  </span></p>
<p><span style="color: #ff0000;">#注释：开启重写</span><br />
LoadModule setenvif_module modules/mod_setenvif.so<br />
#LoadModule speling_module modules/mod_speling.so<br />
#LoadModule ssl_module modules/mod_ssl.so<br />
#LoadModule status_module modules/mod_status.so<br />
#LoadModule substitute_module modules/mod_substitute.so<br />
#LoadModule unique_id_module modules/mod_unique_id.so<br />
#LoadModule userdir_module modules/mod_userdir.so<br />
#LoadModule usertrack_module modules/mod_usertrack.so<br />
#LoadModule version_module modules/mod_version.so<br />
<span style="color: #ff0000;">LoadModule vhost_alias_module modules/mod_vhost_alias.so</span></p>
<p><span style="color: #ff0000;">#开启多站点，即为运行httpd-vhosts.conf做准备</span><br />
<span style="color: #ff0000;">loadmodule php5_module &#8220;e:/php/php5apache2_2.dll&#8221;</span></p>
<p><span style="color: #ff0000;">#加载php与apache连接的接口</span><br />
<span style="color: #ff0000;">phpinidir &#8220;e:/php&#8221;</span></p>
<p><span style="color: #ff0000;">#php目录</span></p>
<p>&lt;IfModule !mpm_netware_module&gt;<br />
&lt;IfModule !mpm_winnt_module&gt;<br />
#<br />
# If you wish httpd to run as a different user or group, you must run<br />
# httpd as root initially and it will switch. <br />
#<br />
# User/Group: The name (or #number) of the user/group to run httpd as.<br />
# It is usually good practice to create a dedicated user and group for<br />
# running httpd, as with most system services.<br />
#<br />
User daemon<br />
Group daemon</p>
<p>&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;</p>
<p># &#8216;Main&#8217; server configuration<br />
#<br />
# The directives in this section set up the values used by the &#8216;main&#8217;<br />
# server, which responds to any requests that aren&#8217;t handled by a<br />
# &lt;VirtualHost&gt; definition.  These values also provide defaults for<br />
# any &lt;VirtualHost&gt; containers you may define later in the file.<br />
#<br />
# All of these directives may appear inside &lt;VirtualHost&gt; containers,<br />
# in which case these default settings will be overridden for the<br />
# virtual host being defined.<br />
#</p>
<p>#<br />
# ServerAdmin: Your address, where problems with the server should be<br />
# e-mailed.  This address appears on some server-generated pages, such<br />
# as error documents.  e.g. <a href="mailto:admin@your-domain.com">admin@your-domain.com</a><br />
#<br />
ServerAdmin <a href="mailto:tianshangyun@126.com">tianshangyun@126.com</a></p>
<p>#<br />
# ServerName gives the name and port that the server uses to identify itself.<br />
# This can often be determined automatically, but we recommend you specify<br />
# it explicitly to prevent problems during startup.<br />
#<br />
# If your host doesn&#8217;t have a registered DNS name, enter its IP address here.<br />
#<br />
#ServerName <a href="http://www.haoyue.com/">www.haoyue.com:80</a></p>
<p>#<br />
# DocumentRoot: The directory out of which you will serve your<br />
# documents. By default, all requests are taken from this directory, but<br />
# symbolic links and aliases may be used to point to other locations.<br />
#<br />
<span style="color: #ff0000;">DocumentRoot &#8220;E:/Apache/htdocs&#8221;</span></p>
<p><span style="color: #ff0000;">#localhost运行目录</span></p>
<p>#<br />
# Each directory to which Apache has access can be configured with respect<br />
# to which services and features are allowed and/or disabled in that<br />
# directory (and its subdirectories).<br />
#<br />
# First, we configure the &#8220;default&#8221; to be a very restrictive set of<br />
# features. <br />
#<br />
&lt;Directory /&gt;<br />
    Options FollowSymLinks<br />
    AllowOverride ALL<br />
    Order deny,allow<br />
    Deny from all<br />
&lt;/Directory&gt;</p>
<p>#<br />
# Note that from this point forward you must specifically allow<br />
# particular features to be enabled &#8211; so if something&#8217;s not working as<br />
# you might expect, make sure that you have specifically enabled it<br />
# below.<br />
#</p>
<p>#<br />
# This should be changed to whatever you set DocumentRoot to.<br />
#<br />
&lt;Directory &#8220;E:/Apache/htdocs&#8221;&gt;<br />
    #<br />
    # Possible values for the Options directive are &#8220;None&#8221;, &#8220;All&#8221;,<br />
    # or any combination of:<br />
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews<br />
    #<br />
    # Note that &#8220;MultiViews&#8221; must be named *explicitly* &#8212; &#8220;Options All&#8221;<br />
    # doesn&#8217;t give it to you.<br />
    #<br />
    # The Options directive is both complicated and important.  Please see<br />
    # <a href="http://httpd.apache.org/docs/2.2/mod/core.html#options">http://httpd.apache.org/docs/2.2/mod/core.html#options</a><br />
    # for more information.<br />
    #<br />
    Options Indexes FollowSymLinks</p>
<p>    #<br />
    # AllowOverride controls what directives may be placed in .htaccess files.<br />
    # It can be &#8220;All&#8221;, &#8220;None&#8221;, or any combination of the keywords:<br />
    #   Options FileInfo AuthConfig Limit<br />
    #<br />
    AllowOverride ALL</p>
<p>    #<br />
    # Controls who can get stuff from this server.<br />
    #<br />
    Order allow,deny<br />
    Allow from all</p>
<p>&lt;/Directory&gt;</p>
<p>#<br />
# DirectoryIndex: sets the file that Apache will serve if a directory<br />
# is requested.<br />
#<br />
<span style="color: #ff0000;">&lt;IfModule dir_module&gt;</span><br />
<span style="color: #ff0000;">    DirectoryIndex index.html  index.php index.htm</span><br />
<span style="color: #ff0000;">&lt;/IfModule&gt;</span></p>
<p><span style="color: #ff0000;">#定义网站起始网页</span></p>
<p>#<br />
# The following lines prevent .htaccess and .htpasswd files from being<br />
# viewed by Web clients.<br />
#<br />
&lt;FilesMatch &#8220;^\.ht&#8221;&gt;<br />
    Order allow,deny<br />
    Deny from all<br />
    Satisfy All<br />
&lt;/FilesMatch&gt;</p>
<p>#<br />
# ErrorLog: The location of the error log file.<br />
# If you do not specify an ErrorLog directive within a &lt;VirtualHost&gt;<br />
# container, error messages relating to that virtual host will be<br />
# logged here.  If you *do* define an error logfile for a &lt;VirtualHost&gt;<br />
# container, that host&#8217;s errors will be logged there and not here.<br />
#<br />
ErrorLog &#8220;logs/error.log&#8221;</p>
<p>#<br />
# LogLevel: Control the number of messages logged to the error_log.<br />
# Possible values include: debug, info, notice, warn, error, crit,<br />
# alert, emerg.<br />
#<br />
LogLevel warn</p>
<p>&lt;IfModule log_config_module&gt;<br />
    #<br />
    # The following directives define some format nicknames for use with<br />
    # a CustomLog directive (see below).<br />
    #<br />
    LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %&gt;s %b \&#8221;%{Referer}i\&#8221; \&#8221;%{User-Agent}i\&#8221;&#8221; combined<br />
    LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %&gt;s %b&#8221; common</p>
<p>    &lt;IfModule logio_module&gt;<br />
      # You need to enable mod_logio.c to use %I and %O<br />
      LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %&gt;s %b \&#8221;%{Referer}i\&#8221; \&#8221;%{User-Agent}i\&#8221; %I %O&#8221; combinedio<br />
    &lt;/IfModule&gt;</p>
<p>    #<br />
    # The location and format of the access logfile (Common Logfile Format).<br />
    # If you do not define any access logfiles within a &lt;VirtualHost&gt;<br />
    # container, they will be logged here.  Contrariwise, if you *do*<br />
    # define per-&lt;VirtualHost&gt; access logfiles, transactions will be<br />
    # logged therein and *not* in this file.<br />
    #<br />
    CustomLog &#8220;logs/access.log&#8221; common</p>
<p>    #<br />
    # If you prefer a logfile with access, agent, and referer information<br />
    # (Combined Logfile Format) you can use the following directive.<br />
    #<br />
    #CustomLog &#8220;logs/access.log&#8221; combined<br />
&lt;/IfModule&gt;</p>
<p>&lt;IfModule alias_module&gt;<br />
    #<br />
    # Redirect: Allows you to tell clients about documents that used to<br />
    # exist in your server&#8217;s namespace, but do not anymore. The client<br />
    # will make a new request for the document at its new location.<br />
    # Example:<br />
    # Redirect permanent /foo <a href="http://www.haoyue.com/bar">http://www.haoyue.com/bar</a></p>
<p>    #<br />
    # Alias: Maps web paths into filesystem paths and is used to<br />
    # access content that does not live under the DocumentRoot.<br />
    # Example:<br />
    # Alias /webpath /full/filesystem/path<br />
    #<br />
    # If you include a trailing / on /webpath then the server will<br />
    # require it to be present in the URL.  You will also likely<br />
    # need to provide a &lt;Directory&gt; section to allow access to<br />
    # the filesystem path.</p>
<p>    #<br />
    # ScriptAlias: This controls which directories contain server scripts.<br />
    # ScriptAliases are essentially the same as Aliases, except that<br />
    # documents in the target directory are treated as applications and<br />
    # run by the server when requested rather than as documents sent to the<br />
    # client.  The same rules about trailing &#8220;/&#8221; apply to ScriptAlias<br />
    # directives as to Alias.<br />
    #<br />
    ScriptAlias /cgi-bin/ &#8220;E:/Apache/cgi-bin/&#8221;</p>
<p>&lt;/IfModule&gt;</p>
<p>&lt;IfModule cgid_module&gt;<br />
    #<br />
    # ScriptSock: On threaded servers, designate the path to the UNIX<br />
    # socket used to communicate with the CGI daemon of mod_cgid.<br />
    #<br />
    #Scriptsock logs/cgisock<br />
&lt;/IfModule&gt;</p>
<p>#<br />
# &#8220;E:/Apache/cgi-bin&#8221; should be changed to whatever your ScriptAliased<br />
# CGI directory exists, if you have that configured.<br />
#<br />
&lt;Directory &#8220;E:/Apache/cgi-bin&#8221;&gt;<br />
    AllowOverride ALL<br />
    Options None<br />
    Order allow,deny<br />
    Allow from all<br />
&lt;/Directory&gt;</p>
<p>#<br />
# DefaultType: the default MIME type the server will use for a document<br />
# if it cannot otherwise determine one, such as from filename extensions.<br />
# If your server contains mostly text or HTML documents, &#8220;text/plain&#8221; is<br />
# a good value.  If most of your content is binary, such as applications<br />
# or images, you may want to use &#8220;application/octet-stream&#8221; instead to<br />
# keep browsers from trying to display binary files as though they are<br />
# text.<br />
#<br />
DefaultType text/plain</p>
<p>&lt;IfModule mime_module&gt;<br />
    #<br />
    # TypesConfig points to the file containing the list of mappings from<br />
    # filename extension to MIME-type.<br />
    #<br />
    TypesConfig conf/mime.types</p>
<p>    #<br />
    # AddType allows you to add to or override the MIME configuration<br />
    # file specified in TypesConfig for specific file types.<br />
    #<br />
    #AddType application/x-gzip .tgz<br />
    #<br />
    # AddEncoding allows you to have certain browsers uncompress<br />
    # information on the fly. Note: Not all browsers support this.<br />
    #<br />
    #AddEncoding x-compress .Z<br />
    #AddEncoding x-gzip .gz .tgz<br />
    #<br />
    # If the AddEncoding directives above are commented-out, then you<br />
    # probably should define those extensions to indicate media types:<br />
    #<br />
 <span style="color: #ff0000;">   AddType application/x-compress .Z</span><br />
<span style="color: #ff0000;">    AddType application/x-gzip .gz .tgz</span><br />
<span style="color: #ff0000;">    AddType application/x-httpd-php .php</span></p>
<p><span style="color: #ff0000;">#加载php运行后缀</span></p>
<p>    #<br />
    # AddHandler allows you to map certain file extensions to &#8220;handlers&#8221;:<br />
    # actions unrelated to filetype. These can be either built into the server<br />
    # or added with the Action directive (see below)<br />
    #<br />
    # To use CGI scripts outside of ScriptAliased directories:<br />
    # (You will also need to add &#8220;ExecCGI&#8221; to the &#8220;Options&#8221; directive.)<br />
    #<br />
    #AddHandler cgi-script .cgi</p>
<p>    # For type maps (negotiated resources):<br />
    #AddHandler type-map var</p>
<p>    #<br />
    # Filters allow you to process content before it is sent to the client.<br />
    #<br />
    # To parse .shtml files for server-side includes (SSI):<br />
    # (You will also need to add &#8220;Includes&#8221; to the &#8220;Options&#8221; directive.)<br />
    #<br />
    #AddType text/html .shtml<br />
    #AddOutputFilter INCLUDES .shtml<br />
&lt;/IfModule&gt;</p>
<p>#<br />
# The mod_mime_magic module allows the server to use various hints from the<br />
# contents of the file itself to determine its type.  The MIMEMagicFile<br />
# directive tells the module where the hint definitions are located.<br />
#<br />
#MIMEMagicFile conf/magic</p>
<p>#<br />
# Customizable error responses come in three flavors:<br />
# 1) plain text 2) local redirects 3) external redirects<br />
#<br />
# Some examples:<br />
#ErrorDocument 500 &#8220;The server made a boo boo.&#8221;<br />
#ErrorDocument 404 /missing.html<br />
#ErrorDocument 404 &#8220;/cgi-bin/missing_handler.pl&#8221;<br />
#ErrorDocument 402 <a href="http://www.haoyue.com/subscription_info.html">http://www.haoyue.com/subscription_info.html</a><br />
#</p>
<p>#<br />
# EnableMMAP and EnableSendfile: On systems that support it,<br />
# memory-mapping or the sendfile syscall is used to deliver<br />
# files.  This usually improves server performance, but must<br />
# be turned off when serving from networked-mounted<br />
# filesystems or if support for these functions is otherwise<br />
# broken on your system.<br />
#<br />
#EnableMMAP off<br />
#EnableSendfile off</p>
<p># Supplemental configuration<br />
#<br />
# The configuration files in the conf/extra/ directory can be<br />
# included to add extra features or to modify the default configuration of<br />
# the server, or you may simply copy their contents here and change as<br />
# necessary.</p>
<p># Server-pool management (MPM specific)<br />
#Include conf/extra/httpd-mpm.conf</p>
<p># Multi-language error messages<br />
#Include conf/extra/httpd-multilang-errordoc.conf</p>
<p># Fancy directory listings<br />
#Include conf/extra/httpd-autoindex.conf</p>
<p># Language settings<br />
#Include conf/extra/httpd-languages.conf</p>
<p># User home directories<br />
#Include conf/extra/httpd-userdir.conf</p>
<p># Real-time info on requests and configuration<br />
#Include conf/extra/httpd-info.conf</p>
<p># Virtual hosts<br />
<span style="color: #ff0000;">Include conf/extra/httpd-vhosts.conf</span></p>
<p><span style="color: #ff0000;">#启用包含，包含httpd-vhosts.conf</span></p>
<p># Local access to the Apache HTTP Server Manual<br />
#Include conf/extra/httpd-manual.conf</p>
<p># Distributed authoring and versioning (WebDAV)<br />
#Include conf/extra/httpd-dav.conf</p>
<p># Various default settings<br />
#Include conf/extra/httpd-default.conf</p>
<p># Secure (SSL/TLS) connections<br />
#Include conf/extra/httpd-ssl.conf<br />
#<br />
# Note: The following must must be present to support<br />
#       starting without SSL on platforms with no /dev/random equivalent<br />
#       but a statically compiled-in mod_ssl.<br />
#<br />
&lt;IfModule ssl_module&gt;<br />
SSLRandomSeed startup builtin<br />
SSLRandomSeed connect builtin<br />
&lt;/IfModule&gt;</p>
<p><strong>httpd-vhosts.conf</strong></p>
<p><strong>#http-vhosts.conf文件配置情况</strong></p>
<p>#<br />
# Virtual Hosts<br />
#<br />
# If you want to maintain multiple domains/hostnames on your<br />
# machine you can setup VirtualHost containers for them. Most configurations<br />
# use only name-based virtual hosts so the server doesn&#8217;t need to worry about<br />
# IP addresses. This is indicated by the asterisks in the directives below.<br />
#<br />
# Please see the documentation at<br />
# &lt;<a href="http://httpd.apache.org/docs/2.2/vhosts/">URL:http://httpd.apache.org/docs/2.2/vhosts/</a>&gt;<br />
# for further details before you try to setup virtual hosts.<br />
#<br />
# You may use the command line option &#8216;-S&#8217; to verify your virtual host<br />
# configuration.</p>
<p>#<br />
# Use name-based virtual hosting.<br />
#<br />
<span style="color: #ff0000;">NameVirtualHost *:80</span></p>
<p><span style="color: #ff0000;">#选择运行端口</span></p>
<p>#<br />
# VirtualHost example:<br />
# Almost any Apache directive may go into a VirtualHost container.<br />
# The first VirtualHost section is used for all requests that do not<br />
# match a ServerName or ServerAlias in any &lt;VirtualHost&gt; block.<br />
#<br />
<span style="color: #ff0000;">&lt;VirtualHost *:80&gt;</span><br />
<span style="color: #ff0000;">    ServerAdmin <a href="mailto:tianshangyun@126.com"><span style="color: #ff0000;">tianshangyun@126.com</span></a></span><br />
<span style="color: #ff0000;">    DocumentRoot &#8220;E:/Apache/htdocs&#8221;</span><br />
<span style="color: #ff0000;">    ServerName localhost</span><br />
<span style="color: #ff0000;">    ServerAlias localhost</span><br />
<span style="color: #ff0000;">    php_admin_value open_basedir &#8220;e:/apache/htdocs;e:/apache/tmp&#8221;</span><br />
<span style="color: #ff0000;">    ErrorLog &#8220;logs/dummy-host.haoyue.com-error.log&#8221;</span><br />
<span style="color: #ff0000;">    CustomLog &#8220;logs/dummy-host.haoyue.com-access.log&#8221; common</span><br />
<span style="color: #ff0000;">&lt;/VirtualHost&gt;</span></p>
<p><span style="color: #ff0000;">&lt;VirtualHost *:80&gt;</span><br />
<span style="color: #ff0000;">    ServerAdmin <a href="mailto:tianshangyun@126.com"><span style="color: #ff0000;">tianshangyun@126.com</span></a></span><br />
<span style="color: #ff0000;">    DocumentRoot &#8220;E:/Apache/htdocs/bilonstore&#8221;</span><br />
<span style="color: #ff0000;">    ServerName <a href="http://www.bilonstore.com/"><span style="color: #ff0000;">www.bilonstore.com</span></a></span><br />
<span style="color: #ff0000;">    ServerAlias bilonstore.com</span><br />
<span style="color: #ff0000;">    php_admin_value open_basedir &#8220;e:/apache/htdocs/bilonstore;e:/apache/tmp&#8221;</span></p>
<p><span style="color: #ff0000;">  #e:/apache/htdocs分网站根目录，e:/apache/tmp临时文件目录</span><br />
<span style="color: #ff0000;">    ErrorLog &#8220;logs/dummy-host.haoyue.com-error.log&#8221;</span><br />
<span style="color: #ff0000;">    CustomLog &#8220;logs/dummy-host.haoyue.com-access.log&#8221; common</span><br />
<span style="color: #ff0000;">&lt;/VirtualHost&gt;</span></p>
<p>php.ini<br />
[PHP]</p>
<p>;;;;;;;;;;;<br />
; WARNING ;<br />
;;;;;;;;;;;<br />
; This is the default settings file for new PHP installations.<br />
; By default, PHP installs itself with a configuration suitable for<br />
; development purposes, and *NOT* for production purposes.<br />
; For several security-oriented considerations that should be taken<br />
; before going online with your site, please consult php.ini-recommended<br />
; and <a href="http://php.net/manual/en/security.php">http://php.net/manual/en/security.php</a>.<br />
;;;;;;;;;;;;;;;;;;;<br />
; About php.ini   ;<br />
;;;;;;;;;;;;;;;;;;;<br />
; This file controls many aspects of PHP&#8217;s behavior.  In order for PHP to<br />
; read it, it must be named &#8216;php.ini&#8217;.  PHP looks for it in the current<br />
; working directory, in the path designated by the environment variable<br />
; PHPRC, and in the path that was defined in compile time (in that order).<br />
; Under Windows, the compile-time path is the Windows directory.  The<br />
; path in which the php.ini file is looked for can be overridden using<br />
; the -c argument in command line mode.<br />
;<br />
; The syntax of the file is extremely simple.  Whitespace and Lines<br />
; beginning with a semicolon are silently ignored (as you probably guessed).<br />
; Section headers (e.g. [Foo]) are also silently ignored, even though<br />
; they might mean something in the future.<br />
;<br />
; Directives are specified using the following syntax:<br />
; directive = value<br />
; Directive names are *case sensitive* &#8211; foo=bar is different from FOO=bar.<br />
;<br />
; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one<br />
; of the INI constants (On, Off, True, False, Yes, No and None) or an expression<br />
; (e.g. E_ALL &amp; ~E_NOTICE), or a quoted string (&#8220;foo&#8221;).<br />
;<br />
; Expressions in the INI file are limited to bitwise operators and parentheses:<br />
; |        bitwise OR<br />
; &amp;        bitwise AND<br />
; ~        bitwise NOT<br />
; !        boolean NOT<br />
;<br />
; Boolean flags can be turned on using the values 1, On, True or Yes.<br />
; They can be turned off using the values 0, Off, False or No.<br />
;<br />
; An empty string can be denoted by simply not writing anything after the equal<br />
; sign, or by using the None keyword:<br />
;<br />
;  foo =         ; sets foo to an empty string<br />
;  foo = none    ; sets foo to an empty string<br />
;  foo = &#8220;none&#8221;  ; sets foo to the string &#8216;none&#8217;<br />
;<br />
; If you use constants in your value, and these constants belong to a<br />
; dynamically loaded extension (either a PHP extension or a Zend extension),<br />
; you may only use these constants *after* the line that loads the extension.<br />
;<br />
;<br />
;;;;;;;;;;;;;;;;;;;<br />
; About this file ;<br />
;;;;;;;;;;;;;;;;;;;<br />
; All the values in the php.ini-dist file correspond to the builtin<br />
; defaults (that is, if no php.ini is used, or if you delete these lines,<br />
; the builtin defaults will be identical).<br />
;;;;;;;;;;;;;;;;;;;;<br />
; Language Options ;<br />
;;;;;;;;;;;;;;;;;;;;</p>
<p>; Enable the PHP scripting language engine under Apache.<br />
engine = On</p>
<p>; Enable compatibility mode with Zend Engine 1 (PHP 4.x)<br />
zend.ze1_compatibility_mode = Off</p>
<p>; Allow the &lt;? tag.  Otherwise, only &lt;?php and &lt;script&gt; tags are recognized.<br />
; NOTE: Using short tags should be avoided when developing applications or<br />
; libraries that are meant for redistribution, or deployment on PHP<br />
; servers which are not under your control, because short tags may not<br />
; be supported on the target server. For portable, redistributable code,<br />
; be sure not to use short tags.<br />
short_open_tag = On</p>
<p>; Allow ASP-style &lt;% %&gt; tags.<br />
asp_tags = Off</p>
<p>; The number of significant digits displayed in floating point numbers.<br />
precision    =  12</p>
<p>; Enforce year 2000 compliance (will cause problems with non-compliant browsers)<br />
y2k_compliance = On</p>
<p>; Output buffering allows you to send header lines (including cookies) even<br />
; after you send body content, at the price of slowing PHP&#8217;s output layer a<br />
; bit.  You can enable output buffering during runtime by calling the output<br />
; buffering functions.  You can also enable output buffering for all files by<br />
; setting this directive to On.  If you wish to limit the size of the buffer<br />
; to a certain size &#8211; you can use a maximum number of bytes instead of &#8216;On&#8217;, as<br />
; a value for this directive (e.g., output_buffering=4096).<br />
output_buffering = Off</p>
<p>; You can redirect all of the output of your scripts to a function.  For<br />
; example, if you set output_handler to &#8220;mb_output_handler&#8221;, character<br />
; encoding will be transparently converted to the specified encoding.<br />
; Setting any output handler automatically turns on output buffering.<br />
; Note: People who wrote portable scripts should not depend on this ini<br />
;       directive. Instead, explicitly set the output handler using ob_start().<br />
;       Using this ini directive may cause problems unless you know what script<br />
;       is doing.<br />
; Note: You cannot use both &#8220;mb_output_handler&#8221; with &#8220;ob_iconv_handler&#8221;<br />
;       and you cannot use both &#8220;ob_gzhandler&#8221; and &#8220;zlib.output_compression&#8221;.<br />
; Note: output_handler must be empty if this is set &#8216;On&#8217; !!!!<br />
;       Instead you must use zlib.output_handler.<br />
;output_handler =</p>
<p>; Transparent output compression using the zlib library<br />
; Valid values for this option are &#8216;off&#8217;, &#8216;on&#8217;, or a specific buffer size<br />
; to be used for compression (default is 4KB)<br />
; Note: Resulting chunk size may vary due to nature of compression. PHP<br />
;       outputs chunks that are few hundreds bytes each as a result of<br />
;       compression. If you prefer a larger chunk size for better<br />
;       performance, enable output_buffering in addition.<br />
; Note: You need to use zlib.output_handler instead of the standard<br />
;       output_handler, or otherwise the output will be corrupted.<br />
zlib.output_compression = Off<br />
;zlib.output_compression_level = -1</p>
<p>; You cannot specify additional output handlers if zlib.output_compression<br />
; is activated here. This setting does the same as output_handler but in<br />
; a different order.<br />
;zlib.output_handler =</p>
<p>; Implicit flush tells PHP to tell the output layer to flush itself<br />
; automatically after every output block.  This is equivalent to calling the<br />
; PHP function flush() after each and every call to print() or echo() and each<br />
; and every HTML block.  Turning this option on has serious performance<br />
; implications and is generally recommended for debugging purposes only.<br />
implicit_flush = Off</p>
<p>; The unserialize callback function will be called (with the undefined class&#8217;<br />
; name as parameter), if the unserializer finds an undefined class<br />
; which should be instantiated.<br />
; A warning appears if the specified function is not defined, or if the<br />
; function doesn&#8217;t include/implement the missing class.<br />
; So only set this entry, if you really want to implement such a<br />
; callback-function.<br />
unserialize_callback_func=</p>
<p>; When floats &amp; doubles are serialized store serialize_precision significant<br />
; digits after the floating point. The default value ensures that when floats<br />
; are decoded with unserialize, the data will remain the same.<br />
serialize_precision = 100</p>
<p>; Whether to enable the ability to force arguments to be passed by reference<br />
; at function call time.  This method is deprecated and is likely to be<br />
; unsupported in future versions of PHP/Zend.  The encouraged method of<br />
; specifying which arguments should be passed by reference is in the function<br />
; declaration.  You&#8217;re encouraged to try and turn this option Off and make<br />
; sure your scripts work properly with it in order to ensure they will work<br />
; with future versions of the language (you will receive a warning each time<br />
; you use this feature, and the argument will be passed by value instead of by<br />
; reference).<br />
allow_call_time_pass_reference = On</p>
<p>;<br />
; Safe Mode<br />
;<br />
safe_mode = Off</p>
<p>; By default, Safe Mode does a UID compare check when<br />
; opening files. If you want to relax this to a GID compare,<br />
; then turn on safe_mode_gid.<br />
safe_mode_gid = Off</p>
<p>; When safe_mode is on, UID/GID checks are bypassed when<br />
; including files from this directory and its subdirectories.<br />
; (directory must also be in include_path or full path must<br />
; be used when including)<br />
safe_mode_include_dir =</p>
<p>; When safe_mode is on, only executables located in the safe_mode_exec_dir<br />
; will be allowed to be executed via the exec family of functions.<br />
safe_mode_exec_dir =</p>
<p>; Setting certain environment variables may be a potential security breach.<br />
; This directive contains a comma-delimited list of prefixes.  In Safe Mode,<br />
; the user may only alter environment variables whose names begin with the<br />
; prefixes supplied here.  By default, users will only be able to set<br />
; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).<br />
;<br />
; Note:  If this directive is empty, PHP will let the user modify ANY<br />
; environment variable!<br />
safe_mode_allowed_env_vars = PHP_</p>
<p>; This directive contains a comma-delimited list of environment variables that<br />
; the end user won&#8217;t be able to change using putenv().  These variables will be<br />
; protected even if safe_mode_allowed_env_vars is set to allow to change them.<br />
safe_mode_protected_env_vars = LD_LIBRARY_PATH</p>
<p>; open_basedir, if set, limits all file operations to the defined directory<br />
; and below.  This directive makes most sense if used in a per-directory<br />
; or per-virtualhost web server configuration file. This directive is<br />
; *NOT* affected by whether Safe Mode is turned On or Off.<br />
;open_basedir =</p>
<p>; This directive allows you to disable certain functions for security reasons.<br />
; It receives a comma-delimited list of function names. This directive is<br />
; *NOT* affected by whether Safe Mode is turned On or Off.<br />
disable_functions =</p>
<p>; This directive allows you to disable certain classes for security reasons.<br />
; It receives a comma-delimited list of class names. This directive is<br />
; *NOT* affected by whether Safe Mode is turned On or Off.<br />
disable_classes =</p>
<p>; Colors for Syntax Highlighting mode.  Anything that&#8217;s acceptable in<br />
; &lt;span style=&#8221;color: ???????&#8221;&gt; would work.<br />
;highlight.string  = #DD0000<br />
;highlight.comment = #FF9900<br />
;highlight.keyword = #007700<br />
;highlight.bg      = #FFFFFF<br />
;highlight.default = #0000BB<br />
;highlight.html    = #000000</p>
<p>; If enabled, the request will be allowed to complete even if the user aborts<br />
; the request. Consider enabling it if executing long request, which may end up<br />
; being interrupted by the user or a browser timing out.<br />
; ignore_user_abort = On</p>
<p>; Determines the size of the realpath cache to be used by PHP. This value should<br />
; be increased on systems where PHP opens many files to reflect the quantity of<br />
; the file operations performed.<br />
; realpath_cache_size=16k</p>
<p>; Duration of time, in seconds for which to cache realpath information for a given<br />
; file or directory. For systems with rarely changing files, consider increasing this<br />
; value.<br />
; realpath_cache_ttl=120</p>
<p>;<br />
; Misc<br />
;<br />
; Decides whether PHP may expose the fact that it is installed on the server<br />
; (e.g. by adding its signature to the Web server header).  It is no security<br />
; threat in any way, but it makes it possible to determine whether you use PHP<br />
; on your server or not.<br />
expose_php = On<br />
;;;;;;;;;;;;;;;;;;;<br />
; Resource Limits ;<br />
;;;;;;;;;;;;;;;;;;;</p>
<p>max_execution_time = 30     ; Maximum execution time of each script, in seconds<br />
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data<br />
;max_input_nesting_level = 64 ; Maximum input variable nesting level<br />
memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; Error handling and logging ;<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p>
<p>; error_reporting is a bit-field.  Or each number up to get desired error<br />
; reporting level<br />
; E_ALL             &#8211; All errors and warnings (doesn&#8217;t include E_STRICT)<br />
; E_ERROR           &#8211; fatal run-time errors<br />
; E_RECOVERABLE_ERROR  &#8211; almost fatal run-time errors<br />
; E_WARNING         &#8211; run-time warnings (non-fatal errors)<br />
; E_PARSE           &#8211; compile-time parse errors<br />
; E_NOTICE          &#8211; run-time notices (these are warnings which often result<br />
;                     from a bug in your code, but it&#8217;s possible that it was<br />
;                     intentional (e.g., using an uninitialized variable and<br />
;                     relying on the fact it&#8217;s automatically initialized to an<br />
;                     empty string)<br />
; E_STRICT          &#8211; run-time notices, enable to have PHP suggest changes<br />
;                     to your code which will ensure the best interoperability<br />
;                     and forward compatibility of your code<br />
; E_CORE_ERROR      &#8211; fatal errors that occur during PHP&#8217;s initial startup<br />
; E_CORE_WARNING    &#8211; warnings (non-fatal errors) that occur during PHP&#8217;s<br />
;                     initial startup<br />
; E_COMPILE_ERROR   &#8211; fatal compile-time errors<br />
; E_COMPILE_WARNING &#8211; compile-time warnings (non-fatal errors)<br />
; E_USER_ERROR      &#8211; user-generated error message<br />
; E_USER_WARNING    &#8211; user-generated warning message<br />
; E_USER_NOTICE     &#8211; user-generated notice message<br />
;<br />
; Examples:<br />
;<br />
;   &#8211; Show all errors, except for notices and coding standards warnings<br />
;<br />
;error_reporting = E_ALL &amp; ~E_NOTICE<br />
;<br />
;   &#8211; Show all errors, except for notices<br />
;<br />
;error_reporting = E_ALL &amp; ~E_NOTICE | E_STRICT<br />
;<br />
;   &#8211; Show only errors<br />
;<br />
;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR<br />
;<br />
;   &#8211; Show all errors except for notices and coding standards warnings<br />
;<br />
error_reporting = E_ALL &amp; ~E_NOTICE</p>
<p>; Print out errors (as a part of the output).  For production web sites,<br />
; you&#8217;re strongly encouraged to turn this feature off, and use error logging<br />
; instead (see below).  Keeping display_errors enabled on a production web site<br />
; may reveal security information to end users, such as file paths on your Web<br />
; server, your database schema or other information.<br />
;<br />
; possible values for display_errors:<br />
;<br />
; Off        &#8211; Do not display any errors<br />
; stderr     &#8211; Display errors to STDERR (affects only CGI/CLI binaries!)<br />
;<br />
;display_errors = &#8220;stderr&#8221;<br />
;<br />
; stdout (On) &#8211; Display errors to STDOUT<br />
;<br />
display_errors = On</p>
<p>; Even when display_errors is on, errors that occur during PHP&#8217;s startup<br />
; sequence are not displayed.  It&#8217;s strongly recommended to keep<br />
; display_startup_errors off, except for when debugging.<br />
display_startup_errors = Off</p>
<p>; Log errors into a log file (server-specific log, stderr, or error_log (below))<br />
; As stated above, you&#8217;re strongly advised to use error logging in place of<br />
; error displaying on production web sites.<br />
log_errors = Off</p>
<p>; Set maximum length of log_errors. In error_log information about the source is<br />
; added. The default is 1024 and 0 allows to not apply any maximum length at all.<br />
log_errors_max_len = 1024</p>
<p>; Do not log repeated messages. Repeated errors must occur in same file on same<br />
; line unless ignore_repeated_source is set true.<br />
ignore_repeated_errors = Off</p>
<p>; Ignore source of message when ignoring repeated messages. When this setting<br />
; is On you will not log errors with repeated messages from different files or<br />
; source lines.<br />
ignore_repeated_source = Off</p>
<p>; If this parameter is set to Off, then memory leaks will not be shown (on<br />
; stdout or in the log). This has only effect in a debug compile, and if<br />
; error reporting includes E_WARNING in the allowed list<br />
report_memleaks = On</p>
<p>;report_zend_debug = 0</p>
<p>; Store the last error/warning message in $php_errormsg (boolean).<br />
track_errors = Off</p>
<p>; Turn off normal error reporting and emit XML-RPC error XML<br />
;xmlrpc_errors = 0<br />
; An XML-RPC faultCode<br />
;xmlrpc_error_number = 0</p>
<p>; Disable the inclusion of HTML tags in error messages.<br />
; Note: Never use this feature for production boxes.<br />
;html_errors = Off</p>
<p>; If html_errors is set On PHP produces clickable error messages that direct<br />
; to a page describing the error or function causing the error in detail.<br />
; You can download a copy of the PHP manual from <a href="http://www.php.net/docs.php">http://www.php.net/docs.php</a><br />
; and change docref_root to the base URL of your local copy including the<br />
; leading &#8216;/&#8217;. You must also specify the file extension being used including<br />
; the dot.<br />
; Note: Never use this feature for production boxes.<br />
;docref_root = &#8220;/phpmanual/&#8221;<br />
;docref_ext = .html</p>
<p>; String to output before an error message.<br />
;error_prepend_string = &#8220;&lt;font color=#ff0000&gt;&#8221;</p>
<p>; String to output after an error message.<br />
;error_append_string = &#8220;&lt;/font&gt;&#8221;</p>
<p>; Log errors to specified file.<br />
;error_log = filename</p>
<p>; Log errors to syslog (Event Log on NT, not valid in Windows 95).<br />
;error_log = syslog<br />
;;;;;;;;;;;;;;;;;<br />
; Data Handling ;<br />
;;;;;;;;;;;;;;;;;<br />
;<br />
; Note &#8211; track_vars is ALWAYS enabled as of PHP 4.0.3</p>
<p>; The separator used in PHP generated URLs to separate arguments.<br />
; Default is &#8220;&amp;&#8221;.<br />
;arg_separator.output = &#8220;&amp;amp;&#8221;</p>
<p>; List of separator(s) used by PHP to parse input URLs into variables.<br />
; Default is &#8220;&amp;&#8221;.<br />
; NOTE: Every character in this directive is considered as separator!<br />
;arg_separator.input = &#8220;;&amp;&#8221;</p>
<p>; This directive describes the order in which PHP registers GET, POST, Cookie,<br />
; Environment and Built-in variables (G, P, C, E &amp; S respectively, often<br />
; referred to as EGPCS or GPC).  Registration is done from left to right, newer<br />
; values override older values.<br />
variables_order = &#8220;EGPCS&#8221;</p>
<p>; Whether or not to register the EGPCS variables as global variables.  You may<br />
; want to turn this off if you don&#8217;t want to clutter your scripts&#8217; global scope<br />
; with user data.  This makes most sense when coupled with track_vars &#8211; in which<br />
; case you can access all of the GPC variables through the $HTTP_*_VARS[],<br />
; variables.<br />
;<br />
; You should do your best to write your scripts so that they do not require<br />
; register_globals to be on;  Using form variables as globals can easily lead<br />
; to possible security problems, if the code is not very well thought of.<br />
register_globals = Off</p>
<p>; Whether or not to register the old-style input arrays, HTTP_GET_VARS<br />
; and friends.  If you&#8217;re not using them, it&#8217;s recommended to turn them off,<br />
; for performance reasons.<br />
register_long_arrays = On</p>
<p>; This directive tells PHP whether to declare the argv&amp;argc variables (that<br />
; would contain the GET information).  If you don&#8217;t use these variables, you<br />
; should turn it off for increased performance.<br />
register_argc_argv = On</p>
<p>; When enabled, the SERVER and ENV variables are created when they&#8217;re first<br />
; used (Just In Time) instead of when the script starts. If these variables<br />
; are not used within a script, having this directive on will result in a<br />
; performance gain. The PHP directives register_globals, register_long_arrays,<br />
; and register_argc_argv must be disabled for this directive to have any affect.<br />
auto_globals_jit = On</p>
<p>; Maximum size of POST data that PHP will accept.<br />
post_max_size = 8M</p>
<p>; Magic quotes<br />
;</p>
<p>; Magic quotes for incoming GET/POST/Cookie data.<br />
magic_quotes_gpc = On</p>
<p>; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.<br />
magic_quotes_runtime = Off</p>
<p>; Use Sybase-style magic quotes (escape &#8216; with &#8221; instead of \&#8217;).<br />
magic_quotes_sybase = Off</p>
<p>; Automatically add files before or after any PHP document.<br />
auto_prepend_file =<br />
auto_append_file =</p>
<p>; As of 4.0b4, PHP always outputs a character encoding by default in<br />
; the Content-type: header.  To disable sending of the charset, simply<br />
; set it to be empty.<br />
;<br />
; PHP&#8217;s built-in default is text/html<br />
default_mimetype = &#8220;text/html&#8221;<br />
;default_charset = &#8220;iso-8859-1&#8243;</p>
<p>; Always populate the $HTTP_RAW_POST_DATA variable.<br />
;always_populate_raw_post_data = On<br />
;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; Paths and Directories ;<br />
;;;;;;;;;;;;;;;;;;;;;;;;;</p>
<p>; UNIX: &#8220;/path1:/path2&#8243;<br />
;include_path = &#8220;.:/php/includes&#8221;<br />
;<br />
; Windows: &#8220;\path1;\path2&#8243;<br />
;include_path = &#8220;.;c:\php\includes&#8221;</p>
<p>; The root of the PHP pages, used only if nonempty.<br />
; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root<br />
; if you are running php as a CGI under any web server (other than IIS)<br />
; see documentation for security issues.  The alternate is to use the<br />
; cgi.force_redirect configuration below<br />
doc_root =</p>
<p>; The directory under which PHP opens the script using /~username used only<br />
; if nonempty.<br />
user_dir =</p>
<p>; Directory in which the loadable extensions (modules) reside.<br />
<span style="color: #ff0000;">extension_dir = c:/php/ext</span></p>
<p><span style="color: #ff0000;">;php扩展的目录</span></p>
<p>; Whether or not to enable the dl() function.  The dl() function does NOT work<br />
; properly in multithreaded servers, such as IIS or Zeus, and is automatically<br />
; disabled on them.<br />
enable_dl = On</p>
<p>; cgi.force_redirect is necessary to provide security running PHP as a CGI under<br />
; most web servers.  Left undefined, PHP turns this on by default.  You can<br />
; turn it off here AT YOUR OWN RISK<br />
; **You CAN safely turn this off for IIS, in fact, you MUST.**<br />
; cgi.force_redirect = 1</p>
<p>; if cgi.nph is enabled it will force cgi to always sent Status: 200 with<br />
; every request.<br />
; cgi.nph = 1</p>
<p>; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape<br />
; (iPlanet) web servers, you MAY need to set an environment variable name that PHP<br />
; will look for to know it is OK to continue execution.  Setting this variable MAY<br />
; cause security issues, KNOW WHAT YOU ARE DOING FIRST.<br />
; cgi.redirect_status_env = ;</p>
<p>; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP&#8217;s<br />
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok<br />
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting<br />
; this to 1 will cause PHP CGI to fix it&#8217;s paths to conform to the spec.  A setting<br />
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts<br />
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.<br />
; cgi.fix_pathinfo=0</p>
<p>; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate<br />
; security tokens of the calling client.  This allows IIS to define the<br />
; security context that the request runs under.  mod_fastcgi under Apache<br />
; does not currently support this feature (03/17/2002)<br />
; Set to 1 if running under IIS.  Default is zero.<br />
; fastcgi.impersonate = 1;</p>
<p>; Disable logging through FastCGI connection<br />
; fastcgi.logging = 0</p>
<p>; cgi.rfc2616_headers configuration option tells PHP what type of headers to<br />
; use when sending HTTP response code. If it&#8217;s set 0 PHP sends Status: header that<br />
; is supported by Apache. When this option is set to 1 PHP will send<br />
; RFC2616 compliant header.<br />
; Default is zero.<br />
;cgi.rfc2616_headers = 0<br />
;;;;;;;;;;;;;;;;<br />
; File Uploads ;<br />
;;;;;;;;;;;;;;;;</p>
<p>; Whether to allow HTTP file uploads.<br />
file_uploads = On</p>
<p>; Temporary directory for HTTP uploaded files (will use system default if not<br />
; specified).<br />
<span style="color: #ff0000;">upload_tmp_dir = e:/apache/tmp</span></p>
<p><span style="color: #ff0000;">;上传的临时目录</span></p>
<p>; Maximum allowed size for uploaded files.<br />
upload_max_filesize = 2M<br />
; Maximum number of files that can be uploaded via a single request<br />
max_file_uploads = 20</p>
<p>;;;;;;;;;;;;;;;;;;<br />
; Fopen wrappers ;<br />
;;;;;;;;;;;;;;;;;;</p>
<p>; Whether to allow the treatment of URLs (like http:// or ftp://) as files.<br />
allow_url_fopen = On</p>
<p>; Whether to allow include/require to open URLs (like http:// or ftp://) as files.<br />
allow_url_include = Off</p>
<p>; Define the anonymous ftp password (your email address)<br />
;from=&#8221;<a href="mailto:john@doe.com">john@doe.com</a>&#8221;</p>
<p>; Define the User-Agent string<br />
; user_agent=&#8221;PHP&#8221;</p>
<p>; Default timeout for socket based streams (seconds)<br />
default_socket_timeout = 60</p>
<p>; If your scripts have to deal with files from Macintosh systems,<br />
; or you are running on a Mac and need to deal with files from<br />
; unix or win32 systems, setting this flag will cause PHP to<br />
; automatically detect the EOL character in those files so that<br />
; fgets() and file() will work regardless of the source of the file.<br />
; auto_detect_line_endings = Off<br />
;;;;;;;;;;;;;;;;;;;;;;<br />
; Dynamic Extensions ;<br />
;;;;;;;;;;;;;;;;;;;;;;<br />
;<br />
; If you wish to have an extension loaded automatically, use the following<br />
; syntax:<br />
;<br />
;   extension=modulename.extension<br />
;<br />
; For example, on Windows:<br />
;<br />
;   extension=msql.dll<br />
;<br />
; &#8230; or under UNIX:<br />
;<br />
;   extension=msql.so<br />
;<br />
; Note that it should be the name of the module only; no directory information<br />
; needs to go here.  Specify the location of the extension with the<br />
; extension_dir directive above.<br />
; Windows Extensions<br />
; Note that ODBC support is built in, so no dll is needed for it.<br />
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)<br />
; extension folders as well as the separate PECL DLL download (PHP 5).<br />
; Be sure to appropriately set the extension_dir directive.</p>
<p><span style="color: #ff0000;">extension=php_bz2.dll</span><br />
<span style="color: #ff0000;">extension=php_curl.dll</span><br />
;extension=php_dba.dll<br />
;extension=php_dbase.dll<br />
;extension=php_fdf.dll<br />
<span style="color: #ff0000;">extension=php_gd2.dll</span><br />
;extension=php_gettext.dll<br />
;extension=php_gmp.dll<br />
;extension=php_ifx.dll<br />
<span style="color: #ff0000;">extension=php_imap.dll</span><br />
;extension=php_interbase.dll<br />
;extension=php_ldap.dll<br />
<span style="color: #ff0000;">extension=php_mbstring.dll</span><br />
;extension=php_exif.dll<br />
<span style="color: #ff0000;">extension=php_mcrypt.dll</span><br />
<span style="color: #ff0000;">extension=php_mhash.dll</span><br />
;extension=php_mime_magic.dll<br />
;extension=php_ming.dll<br />
;extension=php_msql.dll<br />
;extension=php_mssql.dll<br />
<span style="color: #ff0000;">extension=php_mysql.dll</span><br />
<span style="color: #ff0000;">extension=php_mysqli.dll</span><br />
;extension=php_oci8.dll<br />
;extension=php_openssl.dll<br />
<span style="color: #ff0000;">extension=php_pdo.dll</span><br />
;extension=php_pdo_firebird.dll<br />
;extension=php_pdo_mssql.dll<br />
<span style="color: #ff0000;">extension=php_pdo_mysql.dll</span><br />
;extension=php_pdo_oci.dll<br />
;extension=php_pdo_oci8.dll<br />
extension=php_pdo_odbc.dll<br />
;extension=php_pdo_pgsql.dll<br />
<span style="color: #ff0000;">extension=php_pdo_sqlite.dll</span><br />
;extension=php_pgsql.dll<br />
;extension=php_pspell.dll<br />
;extension=php_shmop.dll<br />
;extension=php_snmp.dll<br />
;extension=php_soap.dll<br />
;extension=php_sockets.dll<br />
;extension=php_sqlite.dll<br />
;extension=php_sybase_ct.dll<br />
extension=php_tidy.dll<br />
<span style="color: #ff0000;">extension=php_xmlrpc.dll</span><br />
<span style="color: #ff0000;">extension=php_xsl.dll</span><br />
;extension=php_zip.dll</p>
<p>;;;;;;;;;;;;;;;;;;;<br />
; Module Settings ;<br />
;;;;;;;;;;;;;;;;;;;</p>
<p>[Date]<br />
; Defines the default timezone used by the date functions<br />
;date.timezone =</p>
<p>;date.default_latitude = 31.7667<br />
;date.default_longitude = 35.2333</p>
<p>;date.sunrise_zenith = 90.583333<br />
;date.sunset_zenith = 90.583333</p>
<p>[filter]<br />
;filter.default = unsafe_raw<br />
;filter.default_flags =</p>
<p>[iconv]<br />
;iconv.input_encoding = ISO-8859-1<br />
;iconv.internal_encoding = ISO-8859-1<br />
;iconv.output_encoding = ISO-8859-1</p>
<p>[sqlite]<br />
;sqlite.assoc_case = 0</p>
<p>[Pcre]<br />
;PCRE library backtracking limit.<br />
;pcre.backtrack_limit=100000</p>
<p>;PCRE library recursion limit.<br />
;Please note that if you set this value to a high number you may consume all<br />
;the available process stack and eventually crash PHP (due to reaching the<br />
;stack size limit imposed by the Operating System).<br />
;pcre.recursion_limit=100000</p>
<p>[Syslog]<br />
; Whether or not to define the various syslog variables (e.g. $LOG_PID,<br />
; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In<br />
; runtime, you can define these variables by calling define_syslog_variables().<br />
define_syslog_variables  = Off</p>
<p>[mail function]<br />
; For Win32 only.<br />
SMTP = localhost<br />
smtp_port = 25</p>
<p>; For Win32 only.<br />
;sendmail_from = <a href="mailto:me@example.com">me@example.com</a></p>
<p>; For Unix only.  You may supply arguments as well (default: &#8220;sendmail -t -i&#8221;).<br />
;sendmail_path =</p>
<p>; Force the addition of the specified parameters to be passed as extra parameters<br />
; to the sendmail binary. These parameters will always replace the value of<br />
; the 5th parameter to mail(), even in safe mode.<br />
;mail.force_extra_parameters =</p>
<p>[SQL]<br />
sql.safe_mode = Off</p>
<p>[ODBC]<br />
;odbc.default_db    =  Not yet implemented<br />
;odbc.default_user  =  Not yet implemented<br />
;odbc.default_pw    =  Not yet implemented</p>
<p>; Allow or prevent persistent links.<br />
odbc.allow_persistent = On</p>
<p>; Check that a connection is still valid before reuse.<br />
odbc.check_persistent = On</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
odbc.max_persistent = -1</p>
<p>; Maximum number of links (persistent + non-persistent).  -1 means no limit.<br />
odbc.max_links = -1</p>
<p>; Handling of LONG fields.  Returns number of bytes to variables.  0 means<br />
; passthru.<br />
odbc.defaultlrl = 4096</p>
<p>; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.<br />
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation<br />
; of uodbc.defaultlrl and uodbc.defaultbinmode<br />
odbc.defaultbinmode = 1</p>
<p>[MySQL]<br />
; Allow or prevent persistent links.<br />
mysql.allow_persistent = On</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
mysql.max_persistent = -1</p>
<p>; Maximum number of links (persistent + non-persistent).  -1 means no limit.<br />
mysql.max_links = -1</p>
<p>; Default port number for mysql_connect().  If unset, mysql_connect() will use<br />
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the<br />
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look<br />
; at MYSQL_PORT.<br />
mysql.default_port =</p>
<p>; Default socket name for local MySQL connects.  If empty, uses the built-in<br />
; MySQL defaults.<br />
mysql.default_socket =</p>
<p>; Default host for mysql_connect() (doesn&#8217;t apply in safe mode).<br />
mysql.default_host =</p>
<p>; Default user for mysql_connect() (doesn&#8217;t apply in safe mode).<br />
mysql.default_user =</p>
<p>; Default password for mysql_connect() (doesn&#8217;t apply in safe mode).<br />
; Note that this is generally a *bad* idea to store passwords in this file.<br />
; *Any* user with PHP access can run &#8216;echo get_cfg_var(&#8220;mysql.default_password&#8221;)<br />
; and reveal this password!  And of course, any users with read access to this<br />
; file will be able to reveal the password as well.<br />
mysql.default_password =</p>
<p>; Maximum time (in seconds) for connect timeout. -1 means no limit<br />
mysql.connect_timeout = 60</p>
<p>; Trace mode. When trace_mode is active (=On), warnings for table/index scans and<br />
; SQL-Errors will be displayed.<br />
mysql.trace_mode = Off</p>
<p>[MySQLi]</p>
<p>; Maximum number of links.  -1 means no limit.<br />
mysqli.max_links = -1</p>
<p>; Default port number for mysqli_connect().  If unset, mysqli_connect() will use<br />
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the<br />
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look<br />
; at MYSQL_PORT.<br />
mysqli.default_port = 3306</p>
<p>; Default socket name for local MySQL connects.  If empty, uses the built-in<br />
; MySQL defaults.<br />
mysqli.default_socket =</p>
<p>; Default host for mysql_connect() (doesn&#8217;t apply in safe mode).<br />
mysqli.default_host =</p>
<p>; Default user for mysql_connect() (doesn&#8217;t apply in safe mode).<br />
mysqli.default_user =</p>
<p>; Default password for mysqli_connect() (doesn&#8217;t apply in safe mode).<br />
; Note that this is generally a *bad* idea to store passwords in this file.<br />
; *Any* user with PHP access can run &#8216;echo get_cfg_var(&#8220;mysqli.default_pw&#8221;)<br />
; and reveal this password!  And of course, any users with read access to this<br />
; file will be able to reveal the password as well.<br />
mysqli.default_pw =</p>
<p>; Allow or prevent reconnect<br />
mysqli.reconnect = Off</p>
<p>[mSQL]<br />
; Allow or prevent persistent links.<br />
msql.allow_persistent = On</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
msql.max_persistent = -1</p>
<p>; Maximum number of links (persistent+non persistent).  -1 means no limit.<br />
msql.max_links = -1</p>
<p>[OCI8]<br />
; enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA)<br />
;oci8.privileged_connect = Off</p>
<p>; Connection: The maximum number of persistent OCI8 connections per<br />
; process. Using -1 means no limit.<br />
;oci8.max_persistent = -1</p>
<p>; Connection: The maximum number of seconds a process is allowed to<br />
; maintain an idle persistent connection. Using -1 means idle<br />
; persistent connections will be maintained forever.<br />
;oci8.persistent_timeout = -1</p>
<p>; Connection: The number of seconds that must pass before issuing a<br />
; ping during oci_pconnect() to check the connection validity. When<br />
; set to 0, each oci_pconnect() will cause a ping. Using -1 disables<br />
; pings completely.<br />
;oci8.ping_interval = 60</p>
<p>; Tuning: This option enables statement caching, and specifies how<br />
; many statements to cache. Using 0 disables statement caching.<br />
;oci8.statement_cache_size = 20</p>
<p>; Tuning: Enables statement prefetching and sets the default number of<br />
; rows that will be fetched automatically after statement execution.<br />
;oci8.default_prefetch = 10</p>
<p>; Compatibility. Using On means oci_close() will not close<br />
; oci_connect() and oci_new_connect() connections.<br />
;oci8.old_oci_close_semantics = Off</p>
<p>[PostgresSQL]<br />
; Allow or prevent persistent links.<br />
pgsql.allow_persistent = On</p>
<p>; Detect broken persistent links always with pg_pconnect().<br />
; Auto reset feature requires a little overheads.<br />
pgsql.auto_reset_persistent = Off</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
pgsql.max_persistent = -1</p>
<p>; Maximum number of links (persistent+non persistent).  -1 means no limit.<br />
pgsql.max_links = -1</p>
<p>; Ignore PostgreSQL backends Notice message or not.<br />
; Notice message logging require a little overheads.<br />
pgsql.ignore_notice = 0</p>
<p>; Log PostgreSQL backends Notice message or not.<br />
; Unless pgsql.ignore_notice=0, module cannot log notice message.<br />
pgsql.log_notice = 0</p>
<p>[Sybase]<br />
; Allow or prevent persistent links.<br />
sybase.allow_persistent = On</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
sybase.max_persistent = -1</p>
<p>; Maximum number of links (persistent + non-persistent).  -1 means no limit.<br />
sybase.max_links = -1</p>
<p>;sybase.interface_file = &#8220;/usr/sybase/interfaces&#8221;</p>
<p>; Minimum error severity to display.<br />
sybase.min_error_severity = 10</p>
<p>; Minimum message severity to display.<br />
sybase.min_message_severity = 10</p>
<p>; Compatibility mode with old versions of PHP 3.0.<br />
; If on, this will cause PHP to automatically assign types to results according<br />
; to their Sybase type, instead of treating them all as strings.  This<br />
; compatibility mode will probably not stay around forever, so try applying<br />
; whatever necessary changes to your code, and turn it off.<br />
sybase.compatability_mode = Off</p>
<p>[Sybase-CT]<br />
; Allow or prevent persistent links.<br />
sybct.allow_persistent = On</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
sybct.max_persistent = -1</p>
<p>; Maximum number of links (persistent + non-persistent).  -1 means no limit.<br />
sybct.max_links = -1</p>
<p>; Minimum server message severity to display.<br />
sybct.min_server_severity = 10</p>
<p>; Minimum client message severity to display.<br />
sybct.min_client_severity = 10</p>
<p>[bcmath]<br />
; Number of decimal digits for all bcmath functions.<br />
bcmath.scale = 0</p>
<p>[browscap]<br />
;browscap = extra/browscap.ini</p>
<p>[Informix]<br />
; Default host for ifx_connect() (doesn&#8217;t apply in safe mode).<br />
ifx.default_host =</p>
<p>; Default user for ifx_connect() (doesn&#8217;t apply in safe mode).<br />
ifx.default_user =</p>
<p>; Default password for ifx_connect() (doesn&#8217;t apply in safe mode).<br />
ifx.default_password =</p>
<p>; Allow or prevent persistent links.<br />
ifx.allow_persistent = On</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
ifx.max_persistent = -1</p>
<p>; Maximum number of links (persistent + non-persistent).  -1 means no limit.<br />
ifx.max_links = -1</p>
<p>; If on, select statements return the contents of a text blob instead of its id.<br />
ifx.textasvarchar = 0</p>
<p>; If on, select statements return the contents of a byte blob instead of its id.<br />
ifx.byteasvarchar = 0</p>
<p>; Trailing blanks are stripped from fixed-length char columns.  May help the<br />
; life of Informix SE users.<br />
ifx.charasvarchar = 0</p>
<p>; If on, the contents of text and byte blobs are dumped to a file instead of<br />
; keeping them in memory.<br />
ifx.blobinfile = 0</p>
<p>; NULL&#8217;s are returned as empty strings, unless this is set to 1.  In that case,<br />
; NULL&#8217;s are returned as string &#8216;NULL&#8217;.<br />
ifx.nullformat = 0</p>
<p>[Session]<br />
; Handler used to store/retrieve data.<br />
session.save_handler = files</p>
<p>; Argument passed to save_handler.  In the case of files, this is the path<br />
; where data files are stored. Note: Windows users have to change this<br />
; variable in order to use PHP&#8217;s session functions.<br />
;<br />
; As of PHP 4.0.1, you can define the path as:<br />
;<br />
     <span style="color: #ff0000;">session.save_path = e:/apache/tmp</span></p>
<p><span style="color: #ff0000;">;session保存的目录</span><br />
;<br />
; where N is an integer.  Instead of storing all the session files in<br />
; /path, what this will do is use subdirectories N-levels deep, and<br />
; store the session data in those directories.  This is useful if you<br />
; or your OS have problems with lots of files in one directory, and is<br />
; a more efficient layout for servers that handle lots of sessions.<br />
;<br />
; NOTE 1: PHP will not create this directory structure automatically.<br />
;         You can use the script in the ext/session dir for that purpose.<br />
; NOTE 2: See the section on garbage collection below if you choose to<br />
;         use subdirectories for session storage<br />
;<br />
; The file storage module creates files using mode 600 by default.<br />
; You can change that by using<br />
;<br />
<span style="color: #ff0000;">    session.save_path = e:/apache/tmp</span><br />
;<br />
; where MODE is the octal representation of the mode. Note that this<br />
; does not overwrite the process&#8217;s umask.<br />
<span style="color: #ff0000;">session.save_path = e:/apache/tmp</span></p>
<p>; Whether to use cookies.<br />
session.use_cookies = 1</p>
<p>;session.cookie_secure =</p>
<p>; This option enables administrators to make their users invulnerable to<br />
; attacks which involve passing session ids in URLs; defaults to 0.<br />
; session.use_only_cookies = 1</p>
<p>; Name of the session (used as cookie name).<br />
session.name = PHPSESSID</p>
<p>; Initialize session on request startup.<br />
<span style="color: #ff0000;">session.auto_start = 0</span></p>
<p>; Lifetime in seconds of cookie or, if 0, until browser is restarted.<br />
session.cookie_lifetime = 0</p>
<p>; The path for which the cookie is valid.<br />
session.cookie_path = /</p>
<p>; The domain for which the cookie is valid.<br />
session.cookie_domain =</p>
<p>; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.<br />
session.cookie_httponly =</p>
<p>; Handler used to serialize data.  php is the standard serializer of PHP.<br />
session.serialize_handler = php</p>
<p>; Define the probability that the &#8216;garbage collection&#8217; process is started<br />
; on every session initialization.<br />
; The probability is calculated by using gc_probability/gc_divisor,<br />
; e.g. 1/100 means there is a 1% chance that the GC process starts<br />
; on each request.</p>
<p>session.gc_probability = 1<br />
session.gc_divisor     = 100</p>
<p>; After this number of seconds, stored data will be seen as &#8216;garbage&#8217; and<br />
; cleaned up by the garbage collection process.<br />
session.gc_maxlifetime = 1440</p>
<p>; NOTE: If you are using the subdirectory option for storing session files<br />
;       (see session.save_path above), then garbage collection does *not*<br />
;       happen automatically.  You will need to do your own garbage<br />
;       collection through a shell script, cron entry, or some other method.<br />
;       For example, the following script would is the equivalent of<br />
;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):<br />
;          cd /path/to/sessions; find -cmin +24 | xargs rm</p>
<p>; PHP 4.2 and less have an undocumented feature/bug that allows you to<br />
; to initialize a session variable in the global scope, albeit register_globals<br />
; is disabled.  PHP 4.3 and later will warn you, if this feature is used.<br />
; You can disable the feature and the warning separately. At this time,<br />
; the warning is only displayed, if bug_compat_42 is enabled.</p>
<p>session.bug_compat_42 = 1<br />
session.bug_compat_warn = 1</p>
<p>; Check HTTP Referer to invalidate externally stored URLs containing ids.<br />
; HTTP_REFERER has to contain this substring for the session to be<br />
; considered as valid.<br />
session.referer_check =</p>
<p>; How many bytes to read from the file.<br />
session.entropy_length = 0</p>
<p>; Specified here to create the session id.<br />
session.entropy_file =</p>
<p>;session.entropy_length = 16</p>
<p>;session.entropy_file = /dev/urandom</p>
<p>; Set to {nocache,private,public,} to determine HTTP caching aspects<br />
; or leave this empty to avoid sending anti-caching headers.<br />
session.cache_limiter = nocache</p>
<p>; Document expires after n minutes.<br />
session.cache_expire = 180</p>
<p>; trans sid support is disabled by default.<br />
; Use of trans sid may risk your users security.<br />
; Use this option with caution.<br />
; &#8211; User may send URL contains active session ID<br />
;   to other person via. email/irc/etc.<br />
; &#8211; URL that contains active session ID may be stored<br />
;   in publically accessible computer.<br />
; &#8211; User may access your site with the same session ID<br />
;   always using URL stored in browser&#8217;s history or bookmarks.<br />
session.use_trans_sid = 0</p>
<p>; Select a hash function<br />
; 0: MD5   (128 bits)<br />
; 1: SHA-1 (160 bits)<br />
session.hash_function = 0</p>
<p>; Define how many bits are stored in each character when converting<br />
; the binary hash data to something readable.<br />
;<br />
; 4 bits: 0-9, a-f<br />
; 5 bits: 0-9, a-v<br />
; 6 bits: 0-9, a-z, A-Z, &#8220;-&#8220;, &#8220;,&#8221;<br />
session.hash_bits_per_character = 4</p>
<p>; The URL rewriter will look for URLs in a defined set of HTML tags.<br />
; form/fieldset are special; if you include them here, the rewriter will<br />
; add a hidden &lt;input&gt; field with the info which is otherwise appended<br />
; to URLs.  If you want XHTML conformity, remove the form entry.<br />
; Note that all valid entries require a &#8220;=&#8221;, even if no value follows.<br />
url_rewriter.tags = &#8220;a=href,area=href,frame=src,input=src,form=,fieldset=&#8221;</p>
<p>[MSSQL]<br />
; Allow or prevent persistent links.<br />
mssql.allow_persistent = On</p>
<p>; Maximum number of persistent links.  -1 means no limit.<br />
mssql.max_persistent = -1</p>
<p>; Maximum number of links (persistent+non persistent).  -1 means no limit.<br />
mssql.max_links = -1</p>
<p>; Minimum error severity to display.<br />
mssql.min_error_severity = 10</p>
<p>; Minimum message severity to display.<br />
mssql.min_message_severity = 10</p>
<p>; Compatibility mode with old versions of PHP 3.0.<br />
mssql.compatability_mode = Off</p>
<p>; Connect timeout<br />
;mssql.connect_timeout = 5</p>
<p>; Query timeout<br />
;mssql.timeout = 60</p>
<p>; Valid range 0 &#8211; 2147483647.  Default = 4096.<br />
;mssql.textlimit = 4096</p>
<p>; Valid range 0 &#8211; 2147483647.  Default = 4096.<br />
;mssql.textsize = 4096</p>
<p>; Limits the number of records in each batch.  0 = all records in one batch.<br />
;mssql.batchsize = 0</p>
<p>; Specify how datetime and datetim4 columns are returned<br />
; On =&gt; Returns data converted to SQL server settings<br />
; Off =&gt; Returns values as YYYY-MM-DD hh:mm:ss<br />
;mssql.datetimeconvert = On</p>
<p>; Use NT authentication when connecting to the server<br />
mssql.secure_connection = Off</p>
<p>; Specify max number of processes. -1 = library default<br />
; msdlib defaults to 25<br />
; FreeTDS defaults to 4096<br />
;mssql.max_procs = -1</p>
<p>; Specify client character set.<br />
; If empty or not set the client charset from freetds.comf is used<br />
; This is only used when compiled with FreeTDS<br />
;mssql.charset = &#8220;ISO-8859-1&#8243;</p>
<p>[Assertion]<br />
; Assert(expr); active by default.<br />
;assert.active = On</p>
<p>; Issue a PHP warning for each failed assertion.<br />
;assert.warning = On</p>
<p>; Don&#8217;t bail out by default.<br />
;assert.bail = Off</p>
<p>; User-function to be called if an assertion fails.<br />
;assert.callback = 0</p>
<p>; Eval the expression with current error_reporting().  Set to true if you want<br />
; error_reporting(0) around the eval().<br />
;assert.quiet_eval = 0</p>
<p>[COM]<br />
; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs<br />
;com.typelib_file =<br />
; allow Distributed-COM calls<br />
;com.allow_dcom = true<br />
; autoregister constants of a components typlib on com_load()<br />
;com.autoregister_typelib = true<br />
; register constants casesensitive<br />
;com.autoregister_casesensitive = false<br />
; show warnings on duplicate constant registrations<br />
;com.autoregister_verbose = true</p>
<p>[mbstring]<br />
; language for internal character representation.<br />
;mbstring.language = Japanese</p>
<p>; internal/script encoding.<br />
; Some encoding cannot work as internal encoding.<br />
; (e.g. SJIS, BIG5, ISO-2022-*)<br />
;mbstring.internal_encoding = EUC-JP</p>
<p>; http input encoding.<br />
;mbstring.http_input = auto</p>
<p>; http output encoding. mb_output_handler must be<br />
; registered as output buffer to function<br />
;mbstring.http_output = SJIS</p>
<p>; enable automatic encoding translation according to<br />
; mbstring.internal_encoding setting. Input chars are<br />
; converted to internal encoding by setting this to On.<br />
; Note: Do _not_ use automatic encoding translation for<br />
;       portable libs/applications.<br />
;mbstring.encoding_translation = Off</p>
<p>; automatic encoding detection order.<br />
; auto means<br />
;mbstring.detect_order = auto</p>
<p>; substitute_character used when character cannot be converted<br />
; one from another<br />
;mbstring.substitute_character = none;</p>
<p>; overload(replace) single byte functions by mbstring functions.<br />
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),<br />
; etc. Possible values are 0,1,2,4 or combination of them.<br />
; For example, 7 for overload everything.<br />
; 0: No overload<br />
; 1: Overload mail() function<br />
; 2: Overload str*() functions<br />
; 4: Overload ereg*() functions<br />
;mbstring.func_overload = 0</p>
<p>[FrontBase]<br />
;fbsql.allow_persistent = On<br />
;fbsql.autocommit = On<br />
;fbsql.show_timestamp_decimals = Off<br />
;fbsql.default_database =<br />
;fbsql.default_database_password =<br />
;fbsql.default_host =<br />
;fbsql.default_password =<br />
;fbsql.default_user = &#8220;_SYSTEM&#8221;<br />
;fbsql.generate_warnings = Off<br />
;fbsql.max_connections = 128<br />
;fbsql.max_links = 128<br />
;fbsql.max_persistent = -1<br />
;fbsql.max_results = 128</p>
<p>[gd]<br />
; Tell the jpeg decode to libjpeg warnings and try to create<br />
; a gd image. The warning will then be displayed as notices<br />
; disabled by default<br />
;gd.jpeg_ignore_warning = 0</p>
<p>[exif]<br />
; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.<br />
; With mbstring support this will automatically be converted into the encoding<br />
; given by corresponding encode setting. When empty mbstring.internal_encoding<br />
; is used. For the decode settings you can distinguish between motorola and<br />
; intel byte order. A decode setting cannot be empty.<br />
;exif.encode_unicode = ISO-8859-15<br />
;exif.decode_unicode_motorola = UCS-2BE<br />
;exif.decode_unicode_intel    = UCS-2LE<br />
;exif.encode_jis =<br />
;exif.decode_jis_motorola = JIS<br />
;exif.decode_jis_intel    = JIS</p>
<p>[Tidy]<br />
; The path to a default tidy configuration file to use when using tidy<br />
;tidy.default_config = /usr/local/lib/php/default.tcfg</p>
<p>; Should tidy clean and repair output automatically?<br />
; WARNING: Do not use this option if you are generating non-html content<br />
; such as dynamic images<br />
tidy.clean_output = Off</p>
<p>[soap]<br />
; Enables or disables WSDL caching feature.<br />
soap.wsdl_cache_enabled=1<br />
; Sets the directory name where SOAP extension will put cache files.<br />
soap.wsdl_cache_dir=&#8221;/tmp&#8221;<br />
; (time to live) Sets the number of second while cached file will be used<br />
; instead of original one.<br />
soap.wsdl_cache_ttl=86400</p>
<p>; Local Variables:<br />
; tab-width: 4<br />
; End:</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/381.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>destoon电子邮件发送设置</title>
		<link>http://1.17sky.cn/375.html</link>
		<comments>http://1.17sky.cn/375.html#comments</comments>
		<pubDate>Sun, 25 Nov 2012 10:30:55 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=375</guid>
		<description><![CDATA[进入网站设置 邮件发送 1、使用126、163、QQ等第三方电子邮箱 发送方式选 &#8230; <a href="http://1.17sky.cn/375.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="content">
<p>进入网站设置 邮件发送</p>
<p>1、使用126、163、QQ等第三方电子邮箱<span id="more-375"></span></p>
<p>发送方式选择 通过SMTP SOCKET 连接 SMTP 服务器发送(支持ESMTP验证)，如下图</p>
<p><img src="http://static.destoon.com/home/201105/12/17-23-46-80-1.jpg" alt="" width="646" height="485" /></p>
<p>163的smtp服务器为 smtp.163.com<br />
126的smtp服务器为 smtp.126.com<br />
QQ的smtp服务器为 smtp.qq.com</p>
<p>2、通过Linux的mail函数发送</p>
<p>请先咨询服务器管理员，确定sendmail已经配置成功。<br />
发送方式选择 通过PHP mail 函数发送(通常为Unix/Linux 主机)</p>
<p>3、Winwebmail</p>
<p>发送方式选择 通过SMTP SOCKET 连接 SMTP 服务器发送(支持ESMTP验证)<br />
SMTP服务器是否验证 选择否(需要在Winwebmail的SMTP发信设置里添加服务器IP为信任IP)</p>
<p>4、Gmail</p>
<p>参考 http://help.destoon.com/use/14.html</p>
<p>5、其他方式</p>
<p>请咨询邮件服务器管理员<br />
<strong>设置失败常见问题：</strong></p>
<p>&#8211; 发送方式选择错误<br />
&#8211; SMTP服务器地址或端口填写错误<br />
&#8211; 邮件帐号或密码填写错误<br />
&#8211; 服务器上防火墙或杀毒软件阻止了邮件发送</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/375.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ecshop2.7.3去版权方法&#124;ecshop去版权</title>
		<link>http://1.17sky.cn/372.html</link>
		<comments>http://1.17sky.cn/372.html#comments</comments>
		<pubDate>Fri, 23 Nov 2012 04:05:48 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=372</guid>
		<description><![CDATA[前台部分： 1:去掉头部TITLE部分的ECSHOP演示站 Powered by &#8230; <a href="http://1.17sky.cn/372.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>前台部分：</p>
<p>1:去掉头部TITLE部分的ECSHOP演示站 Powered by ecshop<span id="more-372"></span></p>
<p>&nbsp;</p>
<p>前者在后台商店设置 &#8211; 商店标题修改</p>
<p>后者打开includes/lib_main.php</p>
<p>$page_title = $GLOBALS[&#8216;_CFG&#8217;][&#8216;shop_title&#8217;] . &#8216; &#8211; &#8216; . &#8216;Powered by ECShop';</p>
<p>修改这里的&#8217;Powered by ECShop</p>
<p>可为自己的标识。</p>
<p>或修改为： $page_title = $GLOBALS[&#8216;_CFG&#8217;][&#8216;shop_title&#8217;];   即为去掉这个显示</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>ecshop2.7.3去版权方法 ecshop去版权 ecshop2.7.3去除版权的方法</p>
<p>2.去掉友情链接部分</p>
<p>&nbsp;</p>
<p>在后台的友情链接管理里修改</p>
<p>&nbsp;</p>
<p>3.去掉底部的Powered by ecshop 272</p>
<p>&nbsp;</p>
<p>打开 js/common.js    </p>
<p>删除大约在：第262行:onload = function()</p>
<p><span style="font-family: 宋体;">　　</span></p>
<p><span style="font-family: 宋体;">删除这个函数如下:<br />
onload = function()<br />
{<br />
var link_arr = document.getElementsByTagName(String.fromCharCode(65));<br />
var link_str;<br />
var link_text;<br />
var regg, cc;<br />
var rmd, rmd_s, rmd_e, link_eorr = 0;<br />
var e = new Array(97, 98, 99,<br />
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,<br />
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,<br />
120, 121, 122<br />
);</p>
<p>try<br />
{<br />
for(var i = 0; i &lt; link_arr.length; i++)<br />
{<br />
link_str = link_arr.href;<br />
if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, e[18], e[7], e[14],<br />
e[15], 46, 99, 111, e[12])) != -1)<br />
{<br />
if ((link_text = link_arr.innerText) == undefined)<br />
{<br />
throw &#8220;noIE&#8221;;<br />
}<br />
regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));<br />
if ((cc = regg.exec(link_text)) != null)<br />
{<br />
if (link_arr.offsetHeight == 0)<br />
{<br />
break;<br />
}<br />
link_eorr = 1;<br />
break;<br />
}<br />
}<br />
else<br />
{<br />
link_eorr = link_eorr ? 0 : link_eorr;<br />
continue;<br />
}<br />
}<br />
} // IE<br />
catch(exc)<br />
{<br />
for(var i = 0; i &lt; link_arr.length; i++)<br />
{<br />
link_str = link_arr.href;<br />
if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, 115, 104, e[14],<br />
e[15], 46, 99, 111, e[12])) != -1)<br />
{<br />
link_text = link_arr.textContent;<br />
regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));<br />
if ((cc = regg.exec(link_text)) != null)<br />
{<br />
if (link_arr.offsetHeight == 0)<br />
{<br />
break;<br />
}<br />
link_eorr = 1;<br />
break;<br />
}<br />
}<br />
else<br />
{<br />
link_eorr = link_eorr ? 0 : link_eorr;<br />
continue;<br />
}<br />
}<br />
} // FF</p>
<p>try<br />
{<br />
rmd = Math.random();<br />
rmd_s = Math.floor(rmd * 10);<br />
if (link_eorr != 1)<br />
{<br />
rmd_e = i &#8211; rmd_s;<br />
link_arr[rmd_e].href = String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46,<br />
101, 99, 115, 104, 111, 112, 46, 99, 111, 109);<br />
link_arr[rmd_e].innerHTML = String.fromCharCode(<br />
80, 111, 119, 101, 114, 101, 100,38, 110, 98, 115, 112, 59, 98,<br />
121,38, 110, 98, 115, 112, 59,60, 115, 116, 114, 111, 110, 103,<br />
62, 60,115, 112, 97, 110, 32, 115, 116, 121,108,101, 61, 34, 99,<br />
111, 108, 111, 114, 58, 32, 35, 51, 51, 54, 54, 70, 70, 34, 62,<br />
69, 67, 83, 104, 111, 112, 60, 47, 115, 112, 97, 110, 62,60, 47,<br />
115, 116, 114, 111, 110, 103, 62);<br />
}<br />
}<br />
catch(ex)<br />
{<br />
}<br />
}</span></p>
<p>再打开 <a href="http://www.ecshop.name/">ecshop模板</a>模板文件夹的 library/page_footer.lbi</p>
<p>删除 {foreach from=$lang.p_y item=pv}{$pv}{/foreach}{$licensed}</p>
<p>&nbsp;</p>
<p>ecshop2.7.3去版权方法 ecshop去版权 ecshop2.7.3去除版权的方法</p>
<p>后台部分：</p>
<p>1.去除两张图片</p>
<p>&nbsp;</p>
<p>admin/images/ecshop_logo.gif</p>
<p>admin/images/login.png</p>
<p>&nbsp;</p>
<p>2.右上角的“关于ECSHOP”</p>
<p>&nbsp;</p>
<p>打开admin/templates/top.htm</p>
<p>删除： &lt;li&gt;&lt;a href=&#8221;index.php?act=about_us&#8221; target=&#8221;main-frame&#8221;&gt;{$lang.about}&lt;/a&gt;&lt;/li&gt;</p>
<p>&nbsp;</p>
<p>3.中部 ECSHOP 管理中心， 和底部的版权所有</p>
<p>&nbsp;</p>
<p>打开language/zh_cn/admin/common.php</p>
<p>$_LANG[&#8216;cp_home&#8217;] = &#8216;ECSHOP 管理中心';<br />
$_LANG[&#8216;copyright&#8217;] = &#8216;版权所有 &amp;copy; 2005-2009 上海商派网络科技有限公司，并保留所有权利。';</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/372.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php正则表达式学习（附各种案例</title>
		<link>http://1.17sky.cn/328.html</link>
		<comments>http://1.17sky.cn/328.html#comments</comments>
		<pubDate>Thu, 22 Nov 2012 06:48:38 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=328</guid>
		<description><![CDATA[正则表达式是用来描述字符排列模式的一种语法规则 作用：用来进行字符串的模式分割， &#8230; <a href="http://1.17sky.cn/328.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="cnblogs_post_body">
<p>正则表达式是用来描述字符排列模式的一种语法规则</p>
<p>作用：用来进行字符串的模式分割，匹配，查找，替换<span id="more-328"></span></p>
<p><strong>边界符：一般采用”/”来做它的边界符</strong></p>
<p><strong>原子:</strong></p>
<p>原子包含普通字符，如英文字符，数字，例如a-z,A-Z,0-9</p>
<p>特殊字符:()?^$\.+|   这些需要用”\”转义<br />
“\”是转义字符，如果你的原子里有(*.+\^),请使用\进行转义，如果你要匹配\,请使用\\,同理也可以用\+来表示加号</p>
<p>“\”也有一些特殊功能，比如它加上一些字表，就会表式某种意义，如下：<br />
\d 匹配一个数字0-9  相当于[0-9]<br />
\D 匹配除数字以外的任何一个字符 相当于[^0-9]<br />
\w 匹配一个纯字母，数字及下划线_  相当于[0-9a-zA-Z_]<br />
\W 匹配除了（纯字母，数字及下划线_)以外的   相当于[^0-9a-zA-Z_]<br />
\s 匹配一个空白字符（比如空格，\f换页字符 \n换行字符  \r回车字符 \t制表符 \v垂直字表符) 相当于[\f\n\r\t\v]<br />
\S 匹配除空白字符以外的其它字符 相当于[^\f\n\r\t\v]</p>
<p>[0-9] 匹配任何一个数字,相当于\d<br />
[a-z]匹配任何一个小写字母<br />
[ab]匹配字母a,或者字母b<br />
[A-Z]匹配大写字母<br />
[^a]这里面的^表示取反，在这里匹配除字母a以外的任何字符<br />
[0-9a-zA-Z]匹配任何数字及字母<br />
[^0-9]匹配除数字外的任何其它字符</p>
<p>一个正则表达式，至少包含一个原子<br />
<strong>元字符:(有特殊功能用途的字符)*+?.|$</strong></p>
<p>*   0次或者一次，或者多次匹配其前的原子<br />
+   一次或者多次匹配其前的原子，至少一次<br />
?   0次或一次匹配其前的原子<br />
.   匹配除换行符外任何一个字符 linux下相当于[^\n] windows下相当于[^\n\r]<br />
.*  比如/a.*b/这个正则，表示匹配套a和b之间不能有换行的任意多个字符<br />
|   或操作符，匹配二个或多个选择，它的优先级是正则里最低的<br />
/one|two|three/  匹配one,或者two,或者three这样的三个词<br />
^   匹配字符串串首的原子 /^abc/这个表示匹配以abc开头的字符串<br />
$   匹配字符串串尾 /abc$/匹配以abc结尾的字符串<br />
\b  匹配单词的边界 如/\bis\b/ 匹配this is sheep这样里的is,因为这里的is二边都有边界<br />
\B  匹配非单词的边界<br />
{m} 表示其前的原子恰好出现m次<br />
{m,n} 表示其前的原子至少出现m次，至多出现n次<br />
{m,}表示其前的原子出现不少于m次<br />
{,n}表示其前的原子至多不能超过n次<br />
() 整体表示一个原子 比如(abc)这样，abc代表一个原子<br />
比如/(dog)+/匹配字符串dogdogdog,因为dog整体代表一个原子<br />
正则表达式的执行顺序是从左到右执行的<br />
<strong>元字符的优先级</strong><br />
优先级一:()<br />
优先级二: 重复配配 ?*+{}<br />
优先级三:边界限制^$\b\B<br />
优先级四:模式选择符 |<br />
<strong>模式修正字符:(i,U,s,x)</strong></p>
<p>模式修正符一般标记在整个模式之外，如/abc/i,这里的i就是模式修正符</p>
<p>i   如果设置此修正符，同时匹配模式里的大写和小写 如/abc/i 匹配了aBc<br />
m   表示匹配多行，字符串里只要有一行能匹配上就算成功<br />
如 /^abc/m 匹配多行里以abc开头的，如可以匹配字符串<br />
babcfdfd\nabcfdfd<br />
这里\n表示换行，后面有个abc开头的，因为有了m修正符，所以能配匹上</p>
<p>s   与m相反，表示将字符串视为单行，换行符\n作为普通字符<br />
比如/pr.y/s 可以匹配pr\ny这个字符，虽然.不能匹配换行符，但加上s把\n变成了普通字符<br />
x   忽略模式里的空白不计,比如/i love you/x 其实相当于是/iloveyou/<br />
A   强制从目标字符串开头开始匹配,   /abc/A 相当于/^abc/<br />
D   /abc$/D 表示匹配以abc结尾，后面仍可以有换行，D表示忽略最后的换行<br />
U   匹配最近的一个符符串</p>
<p>例:字符串  “&lt;b&gt;hello&lt;/b&gt;abcdefg&lt;hr&gt;aaaaa”<br />
模式: /&lt;.+&gt;/  与之匹配，匹配出来的字符串会是&lt;b&gt;hello&lt;/b&gt;abcdefg&lt;hr&gt; 因为它没有选择最近的&gt;<br />
模式: /&lt;.+&gt;/U 与之区配，匹配出来的字符串是&lt;b&gt;，加了U表示匹配最近的能匹配成功的字符串</p>
<p>&nbsp;</p>
<p><strong>php中的正则替换函数</strong></p>
<p>preg_replace</p>
<p>例:</p>
<p>$str=”thi6s i3s a de9mo”;<br />
echo preg_replace(“/\d/”,”MM”,$str);<br />
上例会将$str里的数字内容替替换成MM</p>
<p>$urlstr=” this is <a href="http://www.baidu.com/">http://www.baidu.com</a>,不是<a href="http://www.163.com/">http://www.163.com</a>“;<br />
echo preg_replace(“/(http:\/\/www\.\w+\.com)/iU”,”&lt;a href=\\1&gt;\\1&lt;/a&gt;”,$urlstr);<br />
上例会将字符串自动加上链接<br />
()里的内容，会存进<a href="http://file//0.0.0.1/">\\1</a>,如果()出现多次，会以次存为<a href="http://file//1,//2,//3">\\1,\\2,\\3</a>,所以会将匹配上的内容通过<a href="http://file//0.0.0.1/">\\1</a>进行替换</p>
<p>&nbsp;</p>
<div>
<div id="highlighter_626273">
<div><a href="http://www.cnblogs.com/lsmsky/archive/2012/02/17/2355818.html#">?</a></div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</td>
<td>
<div>
<div><code>$str</code><code>=</code><code>" 名字：{name}&lt;br&gt;email:{email}&lt;br&gt;age:{age}"</code><code>; </code></div>
<div><code>$patterns</code><code>=</code><code>array</code><code>(</code><code>"/{name}/"</code><code>,</code><code>"/{email}/"</code><code>,</code><code>"/{age}/"</code><code>); </code></div>
<div><code>$replacements</code><code>=</code><code>array</code><code>(</code><code>"张三"</code><code>,</code><code>"zhangsan@gmail.com"</code><code>,</code><code>"27"</code><code>); </code></div>
<div><code>echo</code> <code>preg_replace(</code><code>$patterns</code><code>,</code><code>$replacements</code><code>,</code><code>$str</code><code>);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>上例将会遍历数组依次正则替换，输出内容为:<br />
名字：张三&lt;br&gt;email:zhangsan@gmail.com&lt;br&gt;age:27<br />
preg_split<br />
使用正则表达式来分隔字符串,返回一个数组</p>
<p>举例：<br />
比如要计算一篇文章里有多少句话</p>
<div>
<div id="highlighter_674806">
<div><a href="http://www.cnblogs.com/lsmsky/archive/2012/02/17/2355818.html#">?</a></div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
</td>
<td>
<div>
<div><code>$str</code><code>=</code><code>"一大段的文章内容"</code><code>; </code></div>
<div><code>$arr</code><code>=preg_split(</code><code>"/[，。！、]/"</code><code>,</code><code>$str</code><code>); </code></div>
<div><code>echo</code> <code>count</code><code>(</code><code>$arr</code><code>);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>&nbsp;</p>
<p><strong>正则表达式的实例应用：</strong></p>
<p>ubb代码的转换安例:</p>
<div>
<div id="highlighter_520957">
<div><a href="http://www.cnblogs.com/lsmsky/archive/2012/02/17/2355818.html#">?</a></div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div>18</div>
<div>19</div>
<div>20</div>
<div>21</div>
<div>22</div>
<div>23</div>
</td>
<td>
<div>
<div><code>$str</code><code>="[b]abcd[/b][u]abc[/u][code]xxxx[/code] </code></div>
<div><code> </code> </div>
<div><code>[align=left]abc[/align][url=http:</code><code>//www.baidu.com]百度[/url]"; </code></div>
<div><code>echo</code> <code>conubb(</code><code>$str</code><code>); </code></div>
<div><code>function</code> <code>conubb(</code><code>$str</code><code>){ </code></div>
<div><code>$pattern</code><code>=</code><code>array</code><code>( </code></div>
<div><code> </code><code>"/\[b\](.*)\[\/b\]/is"</code><code>, </code></div>
<div><code> </code><code>"/\[i\](.*)\[\/i\]/is"</code><code>, </code></div>
<div><code> </code><code>"/\[u\](.*)\[\/u\]/is"</code><code>, </code></div>
<div><code> </code><code>"/\[font=([,\w\x7f-\xff]*)\](.*)\[\/font\]/is"</code></div>
<div><code> </code><code>); </code></div>
<div><code>//\x7f-\xff 表示任意一个中文字符 </code></div>
<div><code>$replacement</code><code>=</code><code>array</code><code>( </code></div>
<div><code> </code><code>"&lt;b&gt;\\1&lt;/b&gt;"</code><code>, </code></div>
<div><code> </code><code>"&lt;i&gt;\\1&lt;/i&gt;"</code><code>, </code></div>
<div><code> </code><code>"&lt;u&gt;\\1&lt;/u&gt;"</code><code>, </code></div>
<div><code> </code><code>"&lt;font face=</code><code>'\\1'</code><code>&gt;\\2&lt;/font&gt; </code></div>
<div><code> </code><code>); </code></div>
<div><code> </code> </div>
<div><code>$str</code><code>=preg_replace(</code><code>$pattern</code><code>,</code><code>$replacement</code><code>,</code><code>$str</code><code>); </code></div>
<div><code>return</code> <code>$str</code><code>; </code></div>
<div><code> </code> </div>
<div><code>}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/328.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>admin及admin888 经过 md5加密后16位和32位代码</title>
		<link>http://1.17sky.cn/304.html</link>
		<comments>http://1.17sky.cn/304.html#comments</comments>
		<pubDate>Thu, 22 Nov 2012 06:27:22 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=304</guid>
		<description><![CDATA[下面是 admin 的加密代码： 16位加密：7a57a5a743894a0e  &#8230; <a href="http://1.17sky.cn/304.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>下面是 admin 的加密代码：<span id="more-304"></span><br />
16位加密：7a57a5a743894a0e<br />
32位加密：21232f297a57a5a743894a0e4a801fc3<br />
admin888的MD5加密码<br />
16位：469e80d32c0559f8<br />
32位：7fef6171469e80d32c0559f88b377245</p>
<p>dede的测试密码<br />
2f4d4d63d0465fb64cb7<br />
bilon021</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/304.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IXWEBHOSTING 404错误页怎么设置</title>
		<link>http://1.17sky.cn/273.html</link>
		<comments>http://1.17sky.cn/273.html#comments</comments>
		<pubDate>Wed, 21 Nov 2012 08:01:03 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[cms技巧]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=273</guid>
		<description><![CDATA[IXWEBHOSTING 404错误页怎么设置这个问题为什么会提出来呢？因为现在 &#8230; <a href="http://1.17sky.cn/273.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>IXWEBHOSTING 404错误页怎么设置</strong>这个问题为什么会提出来呢？因为现在<a title="ixwebhosting主机" href="http://52ixwebhosting.com">IXWEBHOSTING</a>的操作面板已经有了变化，设置ixwebhosting错误页的方式已经发生了变化，而网上所能找到的帖子基本上还都是以前的老版本呢！所以我把我的操作成功的过程分享给各位网友。<span id="more-273"></span></p>
<p><strong>404错误页</strong>对于提升用户体验和seo来说都很重要，特别是改版，删帖之类导致原来页面的缺失，如果不设置 404错误页面，会让搜索引擎判断网站存在大量无法访问的页面，严重的时候可能会认为你的网站是垃圾网站，所以 52ixwebhosting 劝大家一定得重视这个情况。那么，ixwebhosting 404 错误页怎么设置呢？</p>
<p>第一步，进IXWEBHOSTING的管理后台，</p>
<p>My Products — Hosting Products — MANAGE</p>
<p>第二步，点击，WEB OPTIONS 见图。</p>
<p><a href="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101701.png"><img title="ixwebhosting web options" src="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101701.png" alt="ixwebhosting web options" width="400" height="197" /></a></p>
<p>这时候，见你的虚拟主机列表。点击主机右侧的，EDIT小图标进入编辑。</p>
<p>第三步，找到ERROR，点ADD添加。见图。</p>
<p><a href="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101702.png"><img title="ixwebhosting 404" src="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101702.png" alt="ixwebhosting 404" width="403" height="136" /></a></p>
<p>第四步，这时候有个菜单，选404，见图。</p>
<p><a href="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101703.png"><img title="ixwebhosting 404页面设置" src="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101703.png" alt="ixwebhosting 404页面设置" width="473" height="223" /></a></p>
<p>再下面，选URL，再添加你的404错误页面的文件名称和路径，注意前面一定要加一个斜杠“/”</p>
<p><a href="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101704.png"><img title="设置ixwebhosting 404页面地址" src="http://52ixwebhosting.com/wp-content/uploads/2011/10/ix101704.png" alt="设置ixwebhosting 404页面地址" width="435" height="155" /></a></p>
<p>第五步，我们制作好404错误页面后，上传到网站所在程序的根目录就大功告成了。</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/273.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
