<?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>简单生活@NET &#187; 深入PHP</title>
	<atom:link href="http://lee.kometo.com/archives/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://lee.kometo.com</link>
	<description>正确的判断来自经验，但经验往往来自错误的判断</description>
	<lastBuildDate>Mon, 06 Feb 2012 02:26:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Drupal7 安装使用笔记</title>
		<link>http://lee.kometo.com/archives/688</link>
		<comments>http://lee.kometo.com/archives/688#comments</comments>
		<pubDate>Tue, 18 Oct 2011 09:19:55 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=688</guid>
		<description><![CDATA[Drupal 是一个开放、集成、开源、插件化、先进的CMS平台。 Drupal is an open source content management platform powering millions of websites and applications. It&#8217;s built, used, and supported by an active and diverse community of people around the world. 安装：很简单了，下载、上传，直接访问URL，自动进入安装过程。 第一次使用： 通过 内容&#62;添加内容&#160;来建立一些网页和文章，在添加内容的同时你还可以指定让&#8220;内容&#8221;自动建立一个菜单项目 通过 结构&#62;区块 定义网站各功能区块的位置，表现形式。 通过 结构&#62;内容类型 可以创建、修改内容类型，默认的有 Article 和 Basic Page，注意在内容类型定制中可以充分体会到Drupal的强大，可以为内容类型创建新的字段，并指定字段配置、显示方式，这些字段包括 文本、数字、日期，也包括图片、附件、媒体等 通过 结构&#62;分类 来建立维护网站的分类（Texonomy 术语) 列表，这些分类可以说Tags形式的平面分类，也可以支持树状的层次分类。分类列表可以通过 内容类型定制来指定某个字段使用某个分类列表。 通过 外观&#62;配置 [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://drupal.org/">Drupal</a> 是一个开放、集成、开源、插件化、先进的CMS平台。</strong></p>
<blockquote>
<p>Drupal is an open source content management platform powering millions of websites and applications. It&rsquo;s built, used, and supported by an active and diverse community of people around the world.</p>
</blockquote>
<p><strong>安装：很简单了，下载、上传，直接访问URL，自动进入安装过程。</strong></p>
<p><strong>第一次使用：</strong></p>
<ul>
<li>通过 <strong>内容&gt;添加内容&nbsp;</strong>来建立一些网页和文章，在添加内容的同时你还可以指定让&ldquo;内容&rdquo;自动建立一个菜单项目</li>
<li>通过 <strong>结构&gt;区块</strong> 定义网站各功能区块的位置，表现形式。</li>
<li>通过 <strong>结构&gt;内容类型</strong> 可以创建、修改内容类型，默认的有 Article 和 Basic Page，注意在内容类型定制中可以充分体会到Drupal的强大，可以为内容类型创建新的字段，并指定字段配置、显示方式，这些字段包括 文本、数字、日期，也包括图片、附件、媒体等</li>
<li>通过 <strong>结构&gt;分类</strong> 来建立维护网站的分类（Texonomy 术语) 列表，这些分类可以说Tags形式的平面分类，也可以支持树状的层次分类。分类列表可以通过 内容类型定制来指定某个字段使用某个分类列表。</li>
<li>通过 <strong>外观&gt;配置</strong> 来选择模板，定义模板的一些基本外观参数，比如颜色。</li>
<li>至此Drupal已经完成一个简单网站的定制搭建了！你可能在寻找如何建立一个分类（分级）的目录列表，似乎因为文化的差异，Drupal对这个需求似乎不是很重视，你可以在 结构&gt;分类 中发现，每个数术语条目都是可以点击并打开一个简单的文档列表页面的，打开地址类似于：&rdquo;&#8230;./taxonomy/term/x&quot;。你可以复制这些地址，并且用这些地址建立菜单条目，很遗憾，基本的（没有插件支持的）Drupal不能自动完成这项工作。</li>
</ul>
<p>&nbsp;</p>
<p><strong>刚安装完的Drupal具备了一些基本功能，但是如果准备用来建立一个基本的网站的话，我们会发现还缺少一些东西，所以我们需要各种各样&ldquo;模块&rdquo;（类似于插件），很快你会发现Drupal有着数量众多的模块，包括编辑器、电子商务、长篇手册、项目管理、电子支付、图片库、媒体库、论坛等等，种类繁多，必有满足你需求的东西。</strong></p>
<p><strong>介绍一些必要模块吧，这个列表类似于装机必备：</strong></p>
<ul>
<li><strong>Views：</strong>视图定制，可以对各种内容的呈现形式进行深度定制，主要用来实现（定制）各种各样的列表，包括页面列表、区块类别、分类列表等等。</li>
<li><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; ">Taxonomy Menu /&nbsp;</strong><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; ">Taxonomy Menu Trails ：</strong>这一组合可以实现把树状分类结构自动挂接到某个菜单上，并且可以根据当前访问的内容页来正确高亮（HighLight）菜单条目，生成导航路径 (Breadcrumb)。注意：<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; ">Taxonomy Menu Trails </strong>的配置在内容类型定制页面里面。</li>
<li><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; ">Wysiwyg：</strong>强大的可视化编辑器集成，支持Ckeiditor，Fckeditor，TinyMCE等等至少8种主流编辑器</li>
<li><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; ">IMCE： </strong>媒体浏览器，一般用来配合Wysiwyg来实现编辑器插入各种媒体，图片、Flash等等。它还需要一个&nbsp;IMCE Wysiwyg API bridge ，才能实现和&nbsp;Wysiwyg 的配合。</li>
<li><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; ">Localization update ： </strong>可以自动检测下载、升级Drupal 核心和各模块的翻译数据</li>
<li><strong>Media</strong>: 类似于IMCE，和IMCE之间选择一个就行了，主要多支持了一个名为&ldquo; Media Selector &rdquo;的字段控件</li>
<li><strong>PlUpload</strong>: 强大的第三方上传组件集成，支持拖拽上传，进度条等等，但是似乎目前和Drupal7的兼容还有问题。</li>
<li>insert： 可以把图像和文件字段的内容插入到文本编辑器中去。</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/688/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows平台下Apache+PHP5.3+FastCGI+XCache安装笔记 2011版</title>
		<link>http://lee.kometo.com/archives/655</link>
		<comments>http://lee.kometo.com/archives/655#comments</comments>
		<pubDate>Fri, 25 Mar 2011 11:09:59 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=655</guid>
		<description><![CDATA[几点说明 1.PHP自5.3版起默认不在支持针对Windows的VC6编译版本，只提供VC9版本的，而APAche官方提供的Apache Windows编译包都是VC6的。所以我们需要使用第三方编译的VC9版本的Apache。 2.PHP 的 None Thread Safe 版本适用于CGI/FastCGI方式，而相应的Thread Safe版本适用于SAPI和Mod方式 3.&#160;http://www.apachelounge.com/download/&#160;这里提供了大量适用于Windows的LAMP有关预编译包，包括VC9版本的Apache和FastCGI，这个网站也是PHP官方推荐的网站。 版本选择及安装包获取 Apache 2.2 VC9 &#160;&#160;来源：&#160;http://www.apachelounge.com/download/ mod_fcgid-2.3.6-win32-x86&#160;&#160;http://www.apachelounge.com/download/ PHP 5.3.6 nts vc9 &#160;来源：php.com VC 2008 RunTime vcredist_x86 来源：php.com XCache-1.3.0-php-5.3.0-nts-Win32-VC9-x86.zip 来源：http://xcache.lighttpd.net/pub/Releases/ 安装过程 下载准备好有关安装包，解压apache,php到规划好的目录，比如：d:\server\ 按照说明分别把 mod_fcgid.so 和php_xcache.dll 解压到相应的目录 安装&#160;VC 2008 RunTime vcredist_x86 建立配置文件目录，比如 d:\server\confs 分别编辑/建立有关的配置文件，有关配置文件详见下面实例，（配置文件中涉及的路径及具体配置请根据实际情况修改） 使用 httpd -k install -n &#34;service name&#34; 方式手动安装服务 基本目录结构 d:\server \apache \php5 \confs [...]]]></description>
			<content:encoded><![CDATA[<h3>几点说明</h3>
<p>1.PHP自5.3版起默认不在支持针对Windows的VC6编译版本，只提供VC9版本的，而APAche官方提供的Apache Windows编译包都是VC6的。所以我们需要使用第三方编译的VC9版本的Apache。</p>
<p>2.PHP 的 None Thread Safe 版本适用于CGI/FastCGI方式，而相应的Thread Safe版本适用于SAPI和Mod方式</p>
<p>3.&nbsp;<a href="http://www.apachelounge.com/download/">http://www.apachelounge.com/download/</a>&nbsp;这里提供了大量适用于Windows的LAMP有关预编译包，包括VC9版本的Apache和FastCGI，这个网站也是PHP官方推荐的网站。</p>
<h3>版本选择及安装包获取</h3>
<p>Apache 2.2 VC9 &nbsp;&nbsp;来源：&nbsp;<a href="http://www.apachelounge.com/download/">http://www.apachelounge.com/download/</a><br />
	mod_fcgid-2.3.6-win32-x86&nbsp;&nbsp;<a href="http://www.apachelounge.com/download/">http://www.apachelounge.com/download/</a></p>
<p>PHP 5.3.6 nts vc9 &nbsp;来源：php.com<br />
	VC 2008 RunTime vcredist_x86 来源：php.com<br />
	XCache-1.3.0-php-5.3.0-nts-Win32-VC9-x86.zip 来源：<a href="http://xcache.lighttpd.net/pub/Releases/">http://xcache.lighttpd.net/pub/Releases/</a></p>
<h3>安装过程</h3>
<ol>
<li>下载准备好有关安装包，解压apache,php到规划好的目录，比如：d:\server\</li>
<li>按照说明分别把 mod_fcgid.so 和php_xcache.dll 解压到相应的目录</li>
<li>安装&nbsp;VC 2008 RunTime vcredist_x86</li>
<li>建立配置文件目录，比如 d:\server\confs</li>
<li>分别编辑/建立有关的配置文件，有关配置文件详见下面实例，（配置文件中涉及的路径及具体配置请根据实际情况修改）</li>
<li>使用 httpd -k install -n &quot;service name&quot; 方式手动安装服务</li>
</ol>
<h3>基本目录结构</h3>
<pre><span style="color:#0000ff;">d:\server
        \apache
        \php5
        \confs
              \apache
              \php5
        \logs
   \wwwroot
</span></pre>
<p>&nbsp;</p>
<p><span id="more-655"></span></p>
<h3>配置文件示例</h3>
<p><span style="color:#ff0000;"><strong>Aapche默认配置文件修改( d:\server\apache\conf\httpd.conf)</strong></span></p>
<pre class="php" name="code">#修改 Serverroot
#修改 documentroot

#在文件末尾增加自动搜索配置文件的路径
include &quot;D:/server/confs/apache/*.conf&quot;</pre>
<p><span style="color:#ff0000;"><strong>php-fcgid.conf (d:\server\confs\apache\)</strong></span></p>
<pre class="php" name="code">#加载 mod_fcgid
LoadModule fcgid_module modules/mod_fcgid.so
&lt;IfModule mod_fcgid.c&gt;
&nbsp;&nbsp;&nbsp; AddHandler fcgid-script .fcgi .php
&nbsp;&nbsp;&nbsp; #php.ini的存放目录
&nbsp;&nbsp;&nbsp; FcgidInitialEnv PHPRC &quot;d:/server/confs/php5/&quot;
&nbsp;&nbsp;&nbsp; # 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess，防止php-cgi进程在处理完所有请求前退出
&nbsp;&nbsp;&nbsp; FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 500
&nbsp;&nbsp;&nbsp; #php-cgi每个进程的最大请求数
&nbsp;&nbsp;&nbsp; FcgidMaxRequestsPerProcess 500
&nbsp;&nbsp;&nbsp; #php-cgi最大的进程数
&nbsp;&nbsp;&nbsp; FcgidMaxProcesses 5
&nbsp;&nbsp;&nbsp; #最大执行时间
&nbsp;&nbsp;&nbsp; FcgidIOTimeout 120
&nbsp;&nbsp;&nbsp; FcgidIdleTimeout 120
&nbsp;&nbsp;&nbsp; #php-cgi的路径
&nbsp;&nbsp;&nbsp; FcgidWrapper &quot;D:/server/php-5.3.6-nts/php-cgi.exe&quot; .php
&nbsp;&nbsp;&nbsp; AddType application/x-httpd-php .php
&lt;/IfModule&gt;

#这里是关于prefork的配置，此配置未经验证，而且似乎上面提到apache安装包不是使用prefork模式的
#这段配置放到这里仅仅是留在备用参考，可以不使用
&lt;IfModule prefork.c&gt;
&nbsp;&nbsp; StartServers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5
&nbsp;&nbsp; MinSpareServers&nbsp;&nbsp;&nbsp; 5
&nbsp;&nbsp; MaxSpareServers&nbsp;&nbsp;&nbsp;&nbsp; 10
&nbsp;&nbsp; ServerLimit&nbsp;&nbsp;&nbsp; 1024
&nbsp;&nbsp; MaxClients&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 768
&nbsp;&nbsp; MaxRequestsPerChild&nbsp;&nbsp; 0
&lt;/IfModule&gt;</pre>
<p><span style="color:#ff0000;"><strong>vh.conf(d:\server\confs\apache\)</strong></span></p>
<pre class="php" name="code">#加载一些mod
LoadModule rewrite_module modules/mod_rewrite.so

#定义有关目录、端口、虚拟主机配置

Listen 10.5.183.132:80
NameVirtualHost 10.5.183.132:80

&lt;Directory &quot;D:/wwwroot&quot;&gt;
&nbsp; Options ExecCGI FollowSymLinks ExecCGI #必须有ExecCGI，才能运行PHP
&nbsp; AllowOverride All
&nbsp; Order allow,deny
&nbsp; Allow from all
&nbsp; DirectoryIndex index.html index.php
&lt;/Directory&gt;

&lt;VirtualHost 10.5.183.132:80&gt;
&nbsp;&nbsp;&nbsp; DocumentRoot &quot;D:/wwwroot/www.test.local&quot;
&nbsp;&nbsp;&nbsp; ServerName www.test.local
&lt;/VirtualHost&gt;</pre>
<p><span style="color:#ff0000;"><strong>php.ini (d:/server/confs/php5)</strong></span></p>
<div>
<pre class="php" name="code">[Custom]
;***************************************************
;&nbsp;&nbsp;&nbsp;&nbsp; Custom Config 这段配置可以直接附加到默认的PHP.ini文件末尾
;***************************************************
date.timezone&nbsp; = &quot;Asia/Shanghai&quot;
pdo_mysql.default_socket=
cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1;

;session.save_handler = files
;session.save_path = /tmp
session.use_cookies = 1
;session.use_only_cookies = 1

; file_uploads = On
; upload_tmp_dir =
; upload_max_filesize = 2M
; post_max_size = 8M
; memory_limit = 8M

; max_execution_time = 30
; max_input_time = 60

display_errors = on
; error_reporting = E_ALL
log_errors = off
error_log = d:\server\confs\logs\php-error.log

; mysql.connect_timeout = 1
; doc_root = d:\wwwroot

;; 加载Ext
extension_dir = &quot;D:\server\php-5.3.6-nts\ext&quot;
extension = php_mysql.dll
extension = php_mysqli.dll
;extension = php_pdo.dll
extension = php_pdo_mysql.dll
extension = php_mbstring.dll
extension = php_mcrypt.dll
extension = php_gd2.dll
extension = php_bz2.dll
extension = php_curl.dll

[xcache]
;; Xcache 配置
;; 安装成 zend extension (推荐), 路径一般是 &quot;$extension_dir/xcache.so&quot;
;; zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so
;; Windows 系统例子:
;zend_extension_ts = d:/Servers/Php5.3/ext/php_xcacshedd.dll
;; 或者您也可把 XCache 安装成 extension, 注意确保您的 extension_dir 设置正确, 并把 xcache.so 或者 php_xcache.dll 放到该目录里面
; extension = xcache.so
;; 或者 Win32 系统:
extension = &quot;d:/server/php-5.3.6-nts/ext/php_xcache.dll&quot;

xcache.admin.enable_auth = On
xcache.admin.user = &quot;admin&quot;
; xcache.admin.pass = md5($您的密码)
xcache.admin.pass = &quot;******&quot;

; 这里的多数选项仅在 ini 里可以修改, 这里列出的都是默认值, 除非另外说明

; select low level shm/allocator scheme implemenation
xcache.shm_scheme =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;mmap&quot;
; 禁用: xcache.size=0
; 启用: xcache.size=64M 之类 (任意&gt;0的值) 同时请注意您的系统 mmap 上限
xcache.size&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 64M
; 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)
xcache.count =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1
; 只是个参考值, 您可以放心地存储多于此数量的项目(php脚本/变量)
xcache.slots =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8K
; 缓存项目的 ttl, 0=永久
xcache.ttl&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0
; 扫描过期项目的时间间隔, 0=不扫描, 其他值以秒为单位
xcache.gc_interval =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0

; 同上, 只是针对变量缓存设置
xcache.var_size&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8M
xcache.var_count =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1
xcache.var_slots =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8K
; 默认, 允许 ini_set()
xcache.var_ttl&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0
; 最大ttl值
xcache.var_maxttl&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0
xcache.var_gc_interval =&nbsp;&nbsp;&nbsp;&nbsp; 300

; 仅测试用
xcache.test =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Off
; /dev/zero 时无效
xcache.readonly_protection = Off
; 对于 *nix 系统, xcache.mmap_path 是文件路径而不是目录, (可以不存在 但是必须能创建).
; 如果您期望启用 ReadonlyProtection, 可以使用类似 &quot;/tmp/xcache&quot;
; 2 个 php 组不会共享同一个 /tmp/xcache
; 对于 Win32 系统, xcache.mmap_path=匿名MAP名字, 不是文件路径. 建议使用 XCache 字眼避免跟其他软件冲突
xcache.mmap_path =&nbsp;&nbsp;&nbsp; &quot;/tmp/xcache&quot;

; 仅用于 *nix 系统
; 设置为空(禁用) 或者类似 &quot;/tmp/phpcore/&quot;
; 注意该目录应该能被 php 写入文件 (跟 open_basedir 无关)
xcache.coredump_directory =&nbsp;&nbsp; &quot;&quot;

xcache.cacher =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On
xcache.stat&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On
xcache.optimizer =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Off

; 如果 xcache.coveragedump_directory 设置为空则本设置自动为 Off
xcache.coverager =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Off

; 请确保本目录能被 coverage viewer 脚本读取 (注意 open_basedir)
; 依赖于 xcache.coverager=On
xcache.coveragedump_directory = &quot;&quot;

[Xdebug]
;Xdebug 配置 ，暂时还没测试Xdebug和Xcache的兼容性，这段配置放在这里仅仅是备用

;zend_extension_ts = &quot;D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6.dll&quot;
;zend_extension = &quot;D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6-nts.dll&quot;

xdebug.auto_trace = off ;开启自动跟踪
xdebug.remote_autostart = off ;开启远程调试自动启动
xdebug.remote_enable = 1
xdebug.remote_host = pc-dev.ysh.local
xdebug.remote_port = 9000
;xdebug.remote_handler = &ldquo;dbgp&rdquo;
xdebug.show_exception_trace = off ;开启异常跟踪
xdebug.collect_vars = On ;收集变量
xdebug.collect_return = On ;收集返回值
xdebug.collect_params = On ;收集参数</pre>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/655/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows下Apache 2.2+PHP 5.3安装及性能调优</title>
		<link>http://lee.kometo.com/archives/647</link>
		<comments>http://lee.kometo.com/archives/647#comments</comments>
		<pubDate>Thu, 24 Mar 2011 18:31:34 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[IT前沿]]></category>
		<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=647</guid>
		<description><![CDATA[测试环境：Windows 2003 Apache2.2（VC9） PHP 5.3（VC9 Non Thread Safe） 测试参数：ab -c 10 -t 10 http://adress 性能测试：静态HTML 测试结果： Concurrency Level: 10 Time taken for tests: 10.000 seconds Complete requests: 6554 Failed requests: 0 Write errors: 0 Total transferred: 2157253 bytes HTML transferred: 288508 bytes Requests per second: 655.40 [#/sec] (mean) Time per request: 15.258 [ms] (mean) Time [...]]]></description>
			<content:encoded><![CDATA[<p>测试环境：Windows 2003 Apache2.2（VC9） PHP 5.3（VC9 Non Thread Safe）<br />
	测试参数：ab -c 10 -t 10 http://adress</p>
<h3>性能测试：静态HTML</h3>
<p>测试结果：</p>
<pre>Concurrency Level:      10
Time taken for tests:   10.000 seconds
Complete requests:      6554
Failed requests:        0
Write errors:           0
Total transferred:      2157253 bytes
HTML transferred:       288508 bytes
Requests per second:    655.40 [#/sec] (mean)
Time per request:       15.258 [ms] (mean)
Time per request:       1.526 [ms] (mean, across all concurrent requests)
Transfer rate:          210.67 [Kbytes/sec] received</pre>
<h3>性能测试：CIG方式</h3>
<p>配置：</p>

<div class="wp_syntax"><div class="code"><pre class="conf" style="font-family:monospace;">&amp;lt;directory&amp;gt;
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
&amp;lt;/directory&amp;gt;
&nbsp;
ScriptAlias /php5/ &amp;quot;E:/Servers/Php5.3/&amp;quot;
Action application/x-httpd-fastphp5 &amp;quot;/php5/php-cgi.exe&amp;quot;
AddType application/x-httpd-fastphp5 .php</pre></div></div>

<p>测试结果：</p>
<pre>Concurrency Level:      10
Time taken for tests:   10.016 seconds
Complete requests:      167
Failed requests:        0
Write errors:           0
Total transferred:      9958014 bytes
HTML transferred:       9931338 bytes
Requests per second:    16.67 [#/sec] (mean)
Time per request:       599.738 [ms] (mean)
Time per request:       59.974 [ms] (mean, across all concurrent requests)
Transfer rate:          970.95 [Kbytes/sec] received</pre>
<h3>性能测试：fcgid方式</h3>
<p>配置：</p>
<pre>LoadModule fcgid_module modules/mod_fcgid.so

    AddHandler fcgid-script .fcgi .php
    #php.ini的存放目录
    FcgidInitialEnv PHPRC &quot;e:/Servers/Apache-confs/&quot;
    # 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess，防止php-cgi进程在处理完所有请求前退出
    FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 500
    #php-cgi每个进程的最大请求数
    FcgidMaxRequestsPerProcess 500
    #php-cgi最大的进程数
    FcgidMaxProcesses 5
    #最大执行时间
    FcgidIOTimeout 120
    FcgidIdleTimeout 120
    #php-cgi的路径
    FcgidWrapper &quot;e:/Servers/Php5.3/php-cgi.exe&quot; .php
    AddType application/x-httpd-php .php

	Options Indexes FollowSymLinks ExecCGI
	Order allow,deny
	Allow from all
	AllowOverride All</pre>
<p>测试结果：</p>
<pre>Concurrency Level:      10
Time taken for tests:   10.016 seconds
Complete requests:      375
Failed requests:        336
   (Connect: 0, Receive: 0, Length: 336, Exceptions: 0)
Write errors:           0
Total transferred:      20406982 bytes
HTML transferred:       20340934 bytes
Requests per second:    37.44 [#/sec] (mean)
Time per request:       267.083 [ms] (mean)
Time per request:       26.708 [ms] (mean, across all concurrent requests)
Transfer rate:          1989.76 [Kbytes/sec] received</pre>
<h3>结论</h3>
<p>可以看到fcgid方式对比CGI方式，完成请求数位160:370，平均相应时间：599ms:267ms</p>
<p>有关PHP优化：http://www.vpser.net/opt/apc-eaccelerator-xcache.html</p>
<p>http://www.woniu.us/php_basic/123.html</p>
<p>目前使用的版本组合：<br />
	Apache 2.2 VC9<br />
	PHP 5.3.6 nts vc9<br />
	mod_fcgid-2.3.6-win32-x86<br />
	XCache-1.3.0-php-5.3.0-nts-Win32-VC9-x86.zip<br />
	VC 2008 RunTime vcredist_x86</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/647/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse+PDT：PHP内置函数不能正常进行代码提示！</title>
		<link>http://lee.kometo.com/archives/308</link>
		<comments>http://lee.kometo.com/archives/308#comments</comments>
		<pubDate>Sun, 12 Jul 2009 10:18:41 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[pdt]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=308</guid>
		<description><![CDATA[Eclipse+PDT：PHP内置（Core）函数不能正常进行代码提示(Code Assite)！ 解决方法： 编辑.project 文件 ，删除&#60;buildSpec&#62;节点，重新关闭打开项目，然后测试下 .project 文件大概类似如下内容： &#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62; &#60;projectDescription&#62; &#60;name&#62;name&#60;/name&#62; &#60;comment&#62;&#60;/comment&#62; &#60;projects&#62; &#60;/projects&#62; &#60;buildSpec&#62; &#60;buildCommand&#62; &#60;name&#62;org.eclipse.wst.validation.validationbuilder&#60;/name&#62; &#60;arguments&#62; &#60;/arguments&#62; &#60;/buildCommand&#62; &#60;buildCommand&#62; &#60;name&#62;org.eclipse.dltk.core.scriptbuilder&#60;/name&#62; &#60;arguments&#62; &#60;/arguments&#62; &#60;/buildCommand&#62; &#60;/buildSpec&#62; &#60;natures&#62; &#60;nature&#62;org.eclipse.php.core.PHPNature&#60;/nature&#62; &#60;nature&#62;org.eclipse.wst.jsdt.core.jsNature&#60;/nature&#62; &#60;/natures&#62; &#60;/projectDescription&#62;]]></description>
			<content:encoded><![CDATA[<p>Eclipse+PDT：PHP内置（Core）函数不能正常进行代码提示(Code Assite)！</p>
<p>解决方法：</p>
<p>编辑<strong>.project </strong>文件 ，删除&lt;buildSpec&gt;节点，重新关闭打开项目，然后测试下</p>
<p><strong>.project </strong>文件大概类似如下内容：</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;projectDescription<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>name<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;comment<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/comment<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;projects<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/projects<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;buildSpec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;buildCommand<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>org.eclipse.wst.validation.validationbuilder<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arguments<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/arguments<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/buildCommand<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;buildCommand<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>org.eclipse.dltk.core.scriptbuilder<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arguments<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/arguments<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/buildCommand<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/buildSpec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;natures<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;nature<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>org.eclipse.php.core.PHPNature<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/nature<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;nature<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>org.eclipse.wst.jsdt.core.jsNature<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/nature<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/natures<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/projectDescription<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/308/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySql升级及PHP连接库相关问题</title>
		<link>http://lee.kometo.com/archives/300</link>
		<comments>http://lee.kometo.com/archives/300#comments</comments>
		<pubDate>Mon, 06 Jul 2009 14:20:15 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=300</guid>
		<description><![CDATA[PHP 5.3开始使用MySqlND作为默认的MySql访问驱动，而且从这个版本开始将不再支持使用旧的用户接口链接Mysql了，你可能会看到类似的提示： #2000 - mysqlnd cannot connect to MySQL 4.1+ using old authentication 解决问题的方法不是调整PHP，而是检查你的Mysql，你需要确保两件事： 你使用的Mysql是4.1+以上版本，4.1以前的版本只支持使用老的16位密码存储 你准备用于连接的数据库帐号使用的MySql的新密码格式（41位的数据） 解决问题2的方法是重新设置账户的密码，并确保使用的标准Password（）函数设置账户密码，相关指令如下： -- 选择系统库 USE `mysql` -- 显示当前的用户和密码，注意新的的密码格式应该是41位的加密字符，老的是16位的 SELECT `user`,`password` FROM `user`; &#160; -- 更新指定的用户的密码，注意使用函数 password() -- 有时针对一些特殊需要，你可以使用old_password()函数来建立一个或几个向下兼容的数据库账户 UPDATE `user` SET `password`=password&#40;'newpassword'&#41; WHERE `user`='UserName'; &#160; -- 刷新MySql权限库 FLUSH PRIVILEGES; &#160; -- 最后别忘记了,MySql的命令行连接方式是： MySql -u username@host -p password]]></description>
			<content:encoded><![CDATA[<p>PHP 5.3开始使用MySqlND作为默认的MySql访问驱动，而且从这个版本开始将不再支持使用旧的用户接口链接Mysql了，你可能会看到类似的提示：</p>
<pre><span style="color: #ff0000;"><strong>#2000 - mysqlnd cannot connect to MySQL 4.1+ using old authentication</strong></span></pre>
<p>解决问题的方法不是调整PHP，而是检查你的Mysql，你需要确保两件事：</p>
<ul>
<li>你使用的Mysql是4.1+以上版本，4.1以前的版本只支持使用老的16位密码存储</li>
<li>你准备用于连接的数据库帐号使用的MySql的新密码格式（41位的数据）</li>
</ul>
<p>解决问题2的方法是重新设置账户的密码，并确保使用的标准Password（）函数设置账户密码，相关指令如下：</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">-- 选择系统库</span>
<span style="color: #993333; font-weight: bold;">USE</span> <span style="color: #ff0000;">`mysql`</span>
<span style="color: #808080; font-style: italic;">-- 显示当前的用户和密码，注意新的的密码格式应该是41位的加密字符，老的是16位的</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #ff0000;">`user`</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">`password`</span> <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #ff0000;">`user`</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">-- 更新指定的用户的密码，注意使用函数 password()</span>
<span style="color: #808080; font-style: italic;">-- 有时针对一些特殊需要，你可以使用old_password()函数来建立一个或几个向下兼容的数据库账户</span>
<span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #ff0000;">`user`</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #ff0000;">`password`</span><span style="color: #66cc66;">=</span>password<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'newpassword'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #ff0000;">`user`</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">'UserName'</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">-- 刷新MySql权限库</span>
<span style="color: #993333; font-weight: bold;">FLUSH</span> PRIVILEGES;
&nbsp;
<span style="color: #808080; font-style: italic;">-- 最后别忘记了,MySql的命令行连接方式是：</span>
MySql <span style="color: #66cc66;">-</span>u username@host <span style="color: #66cc66;">-</span>p password</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/300/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL的表类型和存储引擎</title>
		<link>http://lee.kometo.com/archives/298</link>
		<comments>http://lee.kometo.com/archives/298#comments</comments>
		<pubDate>Mon, 06 Jul 2009 09:02:57 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[mysql php innodb isam]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=298</guid>
		<description><![CDATA[MySQL的表类型由存储引擎（Storage Engines）决定，类型包括MyISAM、innoDB、BDB等。]]></description>
			<content:encoded><![CDATA[<p>MySQL的表类型由存储引擎（Storage Engines）决定，类型包括MyISAM、innoDB、BDB等。</p>
<h3><strong>常用的存储引擎</strong></h3>
<p>MySQL 数据表主要支持六种类型 ，分别是：BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。</p>
<p>这六种又分为两类，一类是&#8221;事务安全型&#8221;(transaction-safe)，包括BDB和InnoDB；其余都属于第二类，称为&#8221;非事务安全型&#8221;(non-transaction-safe)。</p>
<p><del><strong>BDB</strong> </del> 全称是&#8221;Brekeley DB&#8221;,它是Mysql最早的具有事务能力的表的类型，由Sleepycat Software （http://www.sleepycat.com）开发。它提供了事务控制能力功能，它确保一组命令全部执行成功，或者当任何一个命令出现错误时所有命令的结果都被回退，可以想像在电子银行中事务控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事务特性。最新版本的Mysql已经计划移除对BDB的支持，转而全力发展InnoDB。</p>
<p><span id="more-298"></span></p>
<p><strong>InnoDB</strong> 是较新的事务安全型存储引擎，用于事务处理应用程序，支持BDB的几乎所有特性，并具有众多新特性，包括ACID事务支持。</p>
<p>特性：</p>
<ul>
<li>事务处理机制</li>
<li>支持外链</li>
<li> 崩溃后能立即恢复</li>
<li>支持外键功能，级联删除</li>
<li>支持并发能力</li>
<li>在硬盘上的存储方式：InnoBDB frm</li>
</ul>
<p>最新版本的Mysql已经计划移除对BDB的支持，转而全力发展InnoDB。InnoDB对Mysql有更好的特性支持，而且开发社区活跃。</p>
<p><strong>MyISAM</strong> 默认的MySQL插件式存储引擎，它是基于ISAM类型，但它增加了许多有用的扩展，它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意，通过更改STORAGE_ENGINE配置变量，能够方便地更改MySQL服务器的默认存储引擎。<br />
 优点：</p>
<ul>
<li>1.比ISAM表更小，所占资源更少</li>
<li>2.可以在不同平台间二进制移植表的类型在创建表时指定。</li>
</ul>
<p><strong>ISAM</strong> 是MyISAM类型出现之前MySQL表使用的默认类型，现在已经被MyISAM代替。</p>
<p><strong>Memory</strong> <strong>（HEAP）</strong> 是MySQL表中访问最快的表，将所有数据保存在RAM中，在需要快速查找引用和其他类似数据的环境下，可提供极快的访问。注意，这种类型下数据是非持久化设计的，它一般适应于临时表，如果MySQL或者服务器崩溃，表中数据全部丢失。</p>
<p><strong>Merge</strong> 是一种值得关注的新式表，它是由一组MyISAM表组成，之所合并主要出于性能上考虑，因为它能够提高搜索速度，提高修复效率，节省磁盘空 间。允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起，并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。有时它以 <strong>MRG_MYISAM</strong> 名称出现。</p>
<p><strong>Archive</strong> 为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。</p>
<p><strong>Federated</strong> 能够将多个分离的MySQL服务器链接起来，从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。</p>
<p><strong>NDBCluster/Cluster/NDB</strong> MySQL的簇式数据库引擎，尤其适合于具有高性能查找要求的应用程序，这类查找需求还要求具有最高的正常工作时间和可用性。</p>
<p><strong>CSV</strong> 使用标准的CSV格式，由逗号隔开的文本文件，适应于外部数据交换</p>
<p><strong>Blackhole</strong> 它会接受数据但不保存，而且对任何检索请求返回一个空集。它一般适应于数据会被自动复制并不进行本地保存的分布式数据库设计。（不确定的）似乎也可以用于临时禁止/忽略对数据库的应用程序输入。</p>
<p><strong>Example</strong> 这是一个测试引擎，你可以创建一个这样的表，但既不能写入数据，也不能检索数据。它似乎是一个针对MySql开发者提供的示例引擎。</p>
<h3><strong>有关操作和查看表类型的命令语法如下</strong><br />
</h3>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">--</span>
<span style="color: #808080; font-style: italic;">-- 创建表时指定表类型的方法</span>
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`message`</span> <span style="color: #66cc66;">&#40;</span>
<span style="color: #ff0000;">`id`</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`sender`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`receiver`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`content`</span> text<span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`is_read`</span> <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">'N'</span><span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`send_time`</span> datetime <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
<span style="color: #ff0000;">`del_flag`</span> tinyint<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">'0'</span><span style="color: #66cc66;">,</span>
<span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`id`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span> ENGINE<span style="color: #66cc66;">=</span>MYISAM;
&nbsp;
<span style="color: #808080; font-style: italic;">-- 也可以创建后更改：</span>
<span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`message`</span> ENGINE <span style="color: #66cc66;">=</span> INNODB;
&nbsp;
<span style="color: #808080; font-style: italic;">-- 查看表类型（存储引擎）</span>
<span style="color: #993333; font-weight: bold;">SHOW</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">STATUS</span> <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #ff0000;">`test`</span>;
<span style="color: #808080; font-style: italic;">-- -- 结果为数据库test中所有表的信息，其中第二项type即是表的类型。</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- 查看表类型（存储引擎）2</span>
<span style="color: #993333; font-weight: bold;">SHOW</span> <span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`message`</span>;
<span style="color: #808080; font-style: italic;">-- -- 结果为表message创建时的信息，其中有TYPE或ENGINE一项，指定了表的类型（存储引擎）。</span>
<span style="color: #808080; font-style: italic;">-- show tables不能得到表类型的信息。</span></pre></div></div>

<p>注意：老版本的MySQL使用 TYPE而不是ENGINE（例如，TYPE = MYISAM）。MySQL 5.1为向下兼容而支持这个语法，但TYPE现在被轻视，而ENGINE 是首先的用法。 一般地，ENGINE选项是不必要的；除非默认已经被改变了，MyISAM是默认存储引擎。</p>
<h3>数据表的可移植性</h3>
<p>常用的数据移植方法：把数据表的内容导出到一个文本文件中，然后拷贝到硬盘上，然后导入目标数据库里面。</p>
<p>就文件层次的操作来说，某些数据表是可以直接单独拷贝表文件来移动的，见下表</p>
<table style="text-align: center; width: 166px; height: 84px;" border="0" align="center">
<tbody>
<tr>
<td><strong>ISAM</strong></td>
<td>No</td>
</tr>
<tr>
<td><strong>MyIASM</strong></td>
<td>Yes</td>
</tr>
<tr>
<td><strong>BDB</strong></td>
<td>No</td>
</tr>
<tr>
<td><strong>InnoBDB</strong></td>
<td>Yes</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/298/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Xdebug调试PHP程序</title>
		<link>http://lee.kometo.com/archives/296</link>
		<comments>http://lee.kometo.com/archives/296#comments</comments>
		<pubDate>Wed, 01 Jul 2009 15:33:39 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=296</guid>
		<description><![CDATA[XDebug是个好东西啊，用来调试PHP程序的，可以和Eclipse配合。 配置步骤：（Windows+Apache+php环境） 1.下载和PHP版本环境相适应的XDebug版本，放置于PHP目录，主要None-ThreadSafe版似乎是用来在CLI方式下使用的，一般不需要 2.修改php.ini文件，参考如下 &#91;Xdebug&#93; ;zend_extension_ts = &#34;D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6.dll&#34; ;发现在PHP5.3+Apache（CGI）方式下，似乎必须使用 zend_extension 加载才能成功 zend_extension = &#34;D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6-nts.dll&#34; &#160; xdebug.auto_trace = off ;开启自动跟踪 &#160; xdebug.remote_autostart = off ;开启远程调试自动启动 xdebug.remote_enable = 1 xdebug.remote_host = 10.5.184.251 xdebug.remote_port = 9000 ;xdebug.remote_handler = “dbgp” &#160; xdebug.show_exception_trace = On ;开启异常跟踪 &#160; xdebug.collect_vars = On ;收集变量 xdebug.collect_return = On ;收集返回值 xdebug.collect_params = On ;收集参数 注意：remote_host应该填写远程调试机的地址，而不是PHP服务器的地址，在Xdebug运行方式下，调试工具实际是调试过程的服务端，Xdebug会主动连接指定的remoete_host，从而建立调试通讯。所以要注意调试机的防火墙问题 [...]]]></description>
			<content:encoded><![CDATA[<p>XDebug是个好东西啊，用来调试PHP程序的，可以和Eclipse配合。</p>
<p>配置步骤：（Windows+Apache+php环境）</p>
<p>1.下载和PHP版本环境相适应的XDebug版本，放置于PHP目录，主要None-ThreadSafe版似乎是用来在CLI方式下使用的，一般不需要</p>
<p>2.修改php.ini文件，参考如下</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>Xdebug<span style="">&#93;</span></span>
<span style="color: #666666; font-style: italic;">;zend_extension_ts	= &quot;D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6.dll&quot;</span>
<span style="color: #666666; font-style: italic;">;发现在PHP5.3+Apache（CGI）方式下，似乎必须使用 zend_extension 加载才能成功</span>
<span style="color: #000099;">zend_extension</span>		<span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6-nts.dll&quot;</span>
&nbsp;
xdebug.auto_trace		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> off		</span><span style="color: #666666; font-style: italic;">;开启自动跟踪</span>
&nbsp;
xdebug.remote_autostart		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> off		</span><span style="color: #666666; font-style: italic;">;开启远程调试自动启动</span>
xdebug.remote_enable		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span>
xdebug.remote_host		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 10.5.184.251</span>
xdebug.remote_port		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 9000</span>
<span style="color: #666666; font-style: italic;">;xdebug.remote_handler		= “dbgp”</span>
&nbsp;
xdebug.show_exception_trace	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> On		</span><span style="color: #666666; font-style: italic;">;开启异常跟踪</span>
&nbsp;
xdebug.collect_vars		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> On		</span><span style="color: #666666; font-style: italic;">;收集变量</span>
xdebug.collect_return		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> On		</span><span style="color: #666666; font-style: italic;">;收集返回值</span>
xdebug.collect_params		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> On		</span><span style="color: #666666; font-style: italic;">;收集参数</span></pre></div></div>

<p>注意：remote_host应该填写远程调试机的地址，而不是PHP服务器的地址，在Xdebug运行方式下，调试工具实际是调试过程的服务端，Xdebug会主动连接指定的remoete_host，从而建立调试通讯。所以要注意调试机的防火墙问题</p>
<p><br class="spacer_" /></p>
<p>3.配置调试工具，Eclipse就很好用，具体不说了，摸索下就可以了</p>
<p><span id="more-296"></span><br class="spacer_" /></p>
<p>4.Apaceh2下的CGI、FastCGI、Module方式都可以正常使用Xdebug</p>
<p>2009-07-07</p>
<p>5.最新发现在PHP5.3+Apache（CGI）方式下，似乎必须使用 zend_extension 加载才能成功，而不是Zend_extension_ts</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>顺便放个我常用的PHP.ini的设定，你不需要逐个在PHP.INI里查找相应的行，再修改，只有把这些内容附加到PHP.INI文件后面，它会自动覆盖前面设置。</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">cgi.force_redirect		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 0</span>
cgi.fix_pathinfo		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span>
fastcgi.impersonate		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span><span style="color: #666666; font-style: italic;">; </span>
&nbsp;
<span style="color: #666666; font-style: italic;">;session.save_handler		= files</span>
<span style="color: #666666; font-style: italic;">;session.save_path		= /tmp</span>
session.use_cookies		<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span>
<span style="color: #666666; font-style: italic;">;session.use_only_cookies	= 1</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; file_uploads			= On</span>
<span style="color: #666666; font-style: italic;">; upload_tmp_dir		=</span>
<span style="color: #666666; font-style: italic;">; upload_max_filesize		= 2M</span>
<span style="color: #666666; font-style: italic;">; post_max_size			= 8M</span>
<span style="color: #666666; font-style: italic;">; memory_limit			= 8M</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; max_execution_time		= 30</span>
<span style="color: #666666; font-style: italic;">; max_input_time		= 60</span>
&nbsp;
<span style="color: #000099;">display_errors</span>			<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> on</span>
<span style="color: #666666; font-style: italic;">; error_reporting		=  E_ALL</span>
<span style="color: #000099;">log_errors</span>			<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> off</span>
<span style="color: #666666; font-style: italic;">; error_log			= d:\server\php5\logs\error.log</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; mysql.connect_timeout		= 1</span>
<span style="color: #666666; font-style: italic;">; doc_root			= d:\wwwroot</span>
&nbsp;
<span style="color: #000099;">extension_dir</span>	<span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;D:\server\php5\ext&quot;</span>
&nbsp;
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_mysql.dll</span>
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_mysqli.dll</span>
&nbsp;
<span style="color: #666666; font-style: italic;">;extension	= php_pdo.dll</span>
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_pdo_mysql.dll</span>
&nbsp;
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_mbstring.dll</span>
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_mcrypt.dll</span>
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_gd2.dll</span>
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_bz2.dll</span>
<span style="color: #000099;">extension</span>	<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> php_curl.dll</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/296/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows系统下WEB服务器自动架设安装包的比较</title>
		<link>http://lee.kometo.com/archives/285</link>
		<comments>http://lee.kometo.com/archives/285#comments</comments>
		<pubDate>Sun, 15 Feb 2009 08:17:14 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[AMP]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=285</guid>
		<description><![CDATA[这是我老早写的一个笔记了，刚才翻出来了，有些内容可能已经过时了，随便看看吧。所有测试均在Win2003Server下进行。 AMP环境架设 WAMP5 1.7.2 o 安装简单，安装过程英文，自动配置界面简单，功能简单 o 默认没有启用Short_tag,gd 等常用功能 XAMPP o http://www.apachefriends.org/en/xampp-windows.html o 注意：默认安装完成没有任何安全设置！！必须立即设定一些安全设置，包括：Mysql Root帐号等等！ o 集成软件较多 o 自动配置界面略优于WAMP o 仅适合于本地测试，调试，如果使用在正式的服务器上，必须仔细进行安全设置！！ AMPServ APMServ 5.2.0 是一款拥有图形界面的快速搭建Apache 2.2.3、PHP 5.2.0、MySQL 5.0.27＆4.0.26、SQLite、ZendOptimizer、OpenSSL、phpMyAdmin、SQLiteManager，以及 ASP、CGI、Perl网站服务器平台的绿色软件。 集成软件： * Apache 2.2.3          [HTTP服务器] * NetBox 2.8 Build 4128 [HTTP服务器＋ASP脚本解释引擎] * PHP 5.2.0             [PHP脚本解释引擎] * MiniPerl 5.8          [Perl脚本解释器] * MySQL 5.0.27          [MySQL数据库服务器] * MySQL 4.0.26          [...]]]></description>
			<content:encoded><![CDATA[<p>这是我老早写的一个笔记了，刚才翻出来了，有些内容可能已经过时了，随便看看吧。所有测试均在Win2003Server下进行。</p>
<h3>AMP环境架设</h3>
<p><strong> WAMP5 1.7.2</strong></p>
<p>o 安装简单，安装过程英文，自动配置界面简单，功能简单<br />
 o 默认没有启用Short_tag,gd 等常用功能<br />
<strong></strong></p>
<p><strong> XAMPP</strong></p>
<p>o http://www.apachefriends.org/en/xampp-windows.html<br />
 o 注意：默认安装完成没有任何安全设置！！必须立即设定一些安全设置，包括：Mysql Root帐号等等！<br />
 o 集成软件较多<br />
 o 自动配置界面略优于WAMP<br />
 o 仅适合于本地测试，调试，如果使用在正式的服务器上，必须仔细进行安全设置！！<br />
<strong></strong></p>
<p><strong>AMPServ</strong></p>
<p>APMServ 5.2.0 是一款拥有图形界面的快速搭建Apache 2.2.3、PHP 5.2.0、MySQL 5.0.27＆4.0.26、SQLite、ZendOptimizer、OpenSSL、phpMyAdmin、SQLiteManager，以及 ASP、CGI、Perl网站服务器平台的绿色软件。</p>
<p> 集成软件：</p>
<p> * Apache 2.2.3          [HTTP服务器]<br />
 * NetBox 2.8 Build 4128 [HTTP服务器＋ASP脚本解释引擎]<br />
 * PHP 5.2.0             [PHP脚本解释引擎]<br />
 * MiniPerl 5.8          [Perl脚本解释器]<br />
 * MySQL 5.0.27          [MySQL数据库服务器]<br />
 * MySQL 4.0.26          [MySQL数据库服务器]<br />
 * SQLite 3.3.8          [SQLite数据库服务器]<br />
 * phpMyAdmin 2.9.1.1    [MySQL数据库在线管理工具]<br />
 * SQLiteManager 1.2.0   [SQLite数据库在线管理工具]<br />
 * ZendOptimizer 3.2.0   [PHP脚本加速引擎]<br />
 * OpenSSL 0.9.8d        [HTTPS(SSL)安全传输协议]</p>
<p> 特点：</p>
<p> * 直接解压安装<br />
 * 内置Apache虚拟主机管理<br />
 * Myslq5.0 和 Mysql4.0可以方便的并存<br />
 * 默认Mysql没有密码！！<br />
 * 自动配置界面较乱，功能不少，但仍然缺少很多必须的功能</p>
<p><strong>APM_Setup （推荐）</strong></p>
<p style="padding-left: 30px;">APM_Setup 5 for Win32 ( http://www.apmsetup.com/ ，http://www.isk.com.cn )<br />
 国内软件，与PHP_SETUP_for_IIS是同一个公司出品的。<br />
 &#8211; Webalizer Version 2.0.1 &#8211; http://www.webalizer.org<br />
 &#8211; MySQL Version 4.0.26 &#8211; http://www.mysql.com<br />
 &#8211; PHP Version 4.4.3-dev &#8211; http://www.php.net<br />
 &#8211; Zend Optimizer Version 2.6.0 &#8211; http://www.zend.com<br />
 &#8211; phpMyAdmin Version 2.7.0-pl2 &#8211; http://www.phpmyadmin.net<br />
 &#8211; Apache HTTP Server Version 1.3.34 &#8211; http://httpd.apache.org<br />
 文件：APM_Setup5_2006_01_23_CN.exe<br />
 说明：</p>
<p> * 似乎是从摸个国外的版本修改过来的<br />
 * 自动配置界面较丰富<br />
 * 内置了一个服务器管理的WEB界面，但似乎存在一些BUG<br />
 * 集成软件版本较旧<br />
 * 默认数据库密码是：ampsetup，注意ampsetup配置界面中的Mysql密码填写处并不是用于修改Mysql密码的，而是需要在正常修改完Mysql密码后在此处填写新密码，以便于管理。</p>
<h3>IIS环境架设</h3>
<p><strong>PHP_Setup_for_IIS_v20060119_CN.exe (mysql 4 + PHP5)</strong></p>
<p>o PHP映射仅影响到默认网站，如果新建网站还需要重新配置映射<br />
 o 默认以CGI方式映射<br />
 o 默认WWW目录没有可写权限,需专门设置.</p>
<p><strong>* PHP_Setup_for_IIS_v20060119_CN.exe (mysql 4 + PHP4)</strong></p>
<p>o 注意：自动对wwwroot目录增加了一个拒绝权限，禁止IUSR删除文件，必须在高级权限设置中删除这一权限<br />
 o 不支持PATH_INFO</p>
<p><strong>* PHP_Setup_for_ISS (Mysql5+PHP5)</strong></p>
<p>注意：自动对wwwroot目录增加了一个拒绝权限，禁止IUSR删除文件，必须在高级权限设置中删除这一权限<br />
 o 不支持PATH_INFO</p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/285/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>UML关系定义的解析及思维导向图</title>
		<link>http://lee.kometo.com/archives/255</link>
		<comments>http://lee.kometo.com/archives/255#comments</comments>
		<pubDate>Mon, 05 Jan 2009 12:51:32 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[uml]]></category>
		<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=255</guid>
		<description><![CDATA[对UML的关系定义一直有点感觉混乱，这是一天的学习总结，主要成果是下面的这张图，这张图没有按照一般的 Has a / Use a / Is a的3类法进行分类，而是把 Has a 作为了 Use a的一个子集来分析。因为没有看到任何其他参考资料使用了这种方式，所以这种方法未必完全准确，仅供参考。 引用解析 UML类图中5中关系的辨析(修订) 问题域、解域混合，编译时、运行时混合是这5种关系的特点。 关系 用词 问题域 解 域 编译时 运行时 Dependency uses a 短暂的或者对非业务类的（如工具类）依赖 作用域在方法内部的reference（可能是方法参数或方法内部声明的 reference ） 作用域在方法内部的reference（可能是方法参数或方法内部声明的 reference ） 短暂的 Association has a 相对固定的，对业务类的依赖 类属性 类属性 持续一定时间的 Aggregation owns but may share owns but may share 类属性 类属性 生命线可能相关联 Composition [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">对UML的关系定义一直有点感觉混乱，这是一天的学习总结，主要成果是下面的这张图，这张图没有按照一般的 <strong>Has a </strong>/ <strong>Use a</strong> / <strong>Is a</strong>的3类法进行分类，而是把<strong> Has a</strong> 作为了<strong> Use a</strong>的一个子集来分析。因为没有看到任何其他参考资料使用了这种方式，所以这种方法未必完全准确，仅供参考。</p>
<p><br class="spacer_" /></p>
<div id="attachment_259" class="wp-caption aligncenter" style="width: 510px"><a href="http://lee.kometo.com/wp-content/uploads/2009/01/classdiagram1.jpg"><img class="size-medium wp-image-259" title="UML" src="http://lee.kometo.com/wp-content/uploads/2009/01/classdiagram1-500x327.jpg" alt="UML关系解析思维导向图" width="500" height="327" /></a><p class="wp-caption-text">UML关系解析思维导向图</p></div>
<p><br class="spacer_" /></p>
<p><span id="more-255"></span></p>
<h4>引用解析</h4>
<blockquote><p><a href="http://blog.sina.com.cn/s/blog_4c4d6e740100buag.html" target="_blank">UML类图中5中关系的辨析(修订)</a></p>
<p>问题域、解域混合，编译时、运行时混合是这5种关系的特点。<br id="x514" /></p>
<table border="0" cellspacing="0" cellpadding="3">
<thead>
<tr id="ci05">
<td id="ali6" width="16%">关系<br id="znji" /></td>
<td id="ku3o" width="16%">用词<br id="drrt" /></td>
<td id="r-o2" width="16%">问题域<br id="pmls" /></td>
<td id="h2uh" width="16%">解 域<br id="lnr5" /></td>
<td id="mgxk" width="16%">编译时<br id="i1tn" /></td>
<td id="ifkl" width="16%">运行时<br id="abk3" /></td>
</tr>
</thead>
<tbody id="gn6t">
<tr id="fugi">
<td id="pw8q" width="16%">Dependency</td>
<td id="zy65" width="16%">uses a<br id="xia2" /></td>
<td id="smi7" width="16%">短暂的或者对非业务类的（如工具类）依赖<br id="rhnx" /></td>
<td id="g6n1" width="16%">作用域在方法内部的reference（可能是方法参数或方法内部声明的 reference ）</td>
<td id="idpi" width="16%">作用域在方法内部的reference（可能是方法参数或方法内部声明的 reference ）</td>
<td id="zwlx" width="16%">短暂的<br id="ky1s" /></td>
</tr>
<tr id="swos">
<td id="zh-g" width="16%">Association</td>
<td id="s76y" width="16%">has a<br id="fb-m" /></td>
<td id="jcxz" width="16%">相对固定的，对业务类的依赖<br id="z4iz" /></td>
<td id="ouu-" width="16%">类属性</td>
<td id="g333" width="16%">类属性</td>
<td id="io_p" width="16%">持续一定时间的<br id="mrc9" /></td>
</tr>
<tr id="m16m">
<td id="cze4" width="16%">Aggregation</td>
<td id="srd2" width="16%">owns but may share<br id="k-0q" /></td>
<td id="k8.i" width="16%">owns but may share</td>
<td id="chou" width="16%">类属性</td>
<td id="w6pv" width="16%">类属性</td>
<td id="z5l_" width="16%">生命线可能相关联<br id="dfpd" /></td>
</tr>
<tr id="ft9q">
<td id="k4bs" width="16%">Composition</td>
<td id="hm1y" width="16%">is part of<br id="utr8" /></td>
<td id="z9sv" width="16%">is part of</td>
<td id="ic26" width="16%">类属性</td>
<td id="k9yt" width="16%">类属性</td>
<td id="cts-" width="16%">生命线总是关联<br id="mo_8" /></td>
</tr>
<tr id="evfk">
<td id="kq9z" width="16%">Generalization</td>
<td id="yj35" width="16%">is a type of<br id="a-2c" /></td>
<td id="sd:n" width="16%">is a type of</td>
<td id="s-8d" width="16%">继承<br id="o_xb" /></td>
<td id="byr0" width="16%">继承<br id="ugne" /></td>
<td id="rp_o" width="16%"><br id="n2o4" /></td>
</tr>
</tbody>
</table>
</blockquote>
<h4>引用解析</h4>
<blockquote>
<div class="content">
<p><a href="http://www.koyoz.com/blog/?action=show&amp;id=108" target="_blank">UML系列学习之——关系定义</a></p>
<p>uml定义的关系主要有六种：依赖、类属、关联、实现、聚合和组合。下面对其定义和表示方法逐一说明。</p>
<p>依赖 （Dependency）：元素A的变化会影响元素B，但反之不成立，那么B和A的关系是依赖关系，B依赖A；类属关系和实现关系在语义上讲也是依赖关 系，但由于其有更特殊的用途，所以被单独描述。uml中用带箭头的虚线表示Dependency关系，箭头指向被依赖元素。</p>
<p>类属（Generalization）：通常所说的继承（特殊个体 is kind of 一般个体）关系，不必多解释了。uml中用带空心箭头的实线线表示Generalization关系，箭头指向一般个体。</p>
<p>实现（Realize）：元素A定义一个约定，元素B实现这个约定，则B和A的关系是Realize，B realize A。这个关系最常用于接口。uml中用空心空心箭头和虚线表示Realize关系，箭头指向定义约定的元素。</p>
<p>关联（Association）：元素间的结构化关系，是一种弱关系，被关联的元素间通常可以被独立的考虑。uml中用实线表示Dependency关系，箭头指向被依赖元素。</p>
<p>聚合（Aggregation）：关联关系的一种特例，表示部分和整体（整体 has a 部分）的关系。uml中用带空心菱形头的实线表示Aggregation关系，菱形头指向整体。</p>
<p><br class="spacer_" /></p>
<p>组 合（Composition）：组合是聚合关系的变种，表示元素间更强的组合关系。如果是组合关系，如果整体被破坏则个体一定会被破坏，而聚合的个体则可 能是被多个整体所共享的，不一定会随着某个整体的破坏而被破坏。uml中用带实心心菱形头的实线表示Composition关系，菱形头指向整体。</p>
<p><span style="color: #000000;"><strong>关系 </strong><span style="display: none;"> J+m1d\lBu </span><br />
 </span></p>
<p><span style="color: #000000;">后面的例子将针对某个具体目的来独立地展示各种关系。虽然语法无误，但这些例子可进一步精炼，在它们的有效范围内包括更多的语义。<span style="display: none;"> xE- �_Fv9 </span><span style="display: none;">l_\9J913 </span> <br />
 </span></p>
<p><span style="color: #000000;"><strong>依赖（Dependency） </strong><span style="display: none;"> &gt;  1=]. </span><br />
 </span></p>
<p><span style="color: #000000;">实体之间一个“使用”关系暗示一个实体的规范发生变化后，可能影响依赖于它的其他实例（<strong>图D</strong>）。 更具体地说，它可转换为对不在实例作用域内的一个类或对象的任何类型的引用。其中包括一个局部变量，对通过方法调用而获得的一个对象的引用（如下例所 示），或者对一个类的静态方法的引用（同时不存在那个类的一个实例）。也可利用“依赖”来表示包和包之间的关系。由于包中含有类，所以你可根据那些包中的 各个类之间的关系，表示出包和包的关系。</span></p>
<p style="text-align: center;"><span style="color: #000000;">图D</span></p>
<p style="text-align: center;"><span style="color: #000000;"><img style="width: 470px;" src="http://www.uml.org.cn/oobject/images/image004.gif" alt="" width="543" height="153" /></span></p>
<p><span style="color: #000000;"><span style="display: none;"> MB+a?u</span><strong>关联（Association）</strong><span style="display: none;"> Sb^o`~ Eh </span> <br />
 </span></p>
<p><span style="color: #000000;">实体之间的一个结构化关系表明对象是相互连接的。箭头是可选的，它用于指定导航能力。如果没有箭头，暗示是一种双向的导航能力。在Java中，关联（<strong>图E</strong>） 转换为一个实例作用域的变量，就像图E的“Java”区域所展示的代码那样。可为一个关联附加其他修饰符。多重性（Multiplicity）修饰符暗示 着实例之间的关系。在示范代码中，Employee可以有0个或更多的TimeCard对象。但是，每个TimeCard只从属于单独一个 Employee。</span></p>
<p style="text-align: center;"><span style="color: #000000;">图E</span></p>
<p style="text-align: center;"><span style="color: #000000;"><img style="width: 470px;" src="http://www.uml.org.cn/oobject/images/image005.gif" alt="" width="543" height="153" /></span></p>
<p><span style="color: #000000;"><strong>聚合（Aggregation） </strong><span style="display: none;"> {  a_&amp;L </span><br />
 </span></p>
<p><span style="color: #000000;">聚合（<strong>图F</strong>）是关联的一种形式，代表两个类之间的整体/局部关系。聚合暗示着整体在概念上处于比局部更高的一个级别，而关联暗示两个类在概念上位于相同的级别。聚合也转换成Java中的一个实例作用域变量。<span style="display: none;"> 7MIrrhk </span> <br />
 <span style="display: none;"> yC7lR#N8j0 </span> <br />
 关联和聚合的区别纯粹是概念上的，而且严格反映在语义上。聚合还暗示着实例图中不存在回路。换言之，只能是一种单向关系。</span></p>
<p style="text-align: center;"><span style="color: #000000;">图F</span></p>
<p style="text-align: center;"><span style="color: #000000;"><img style="width: 470px;" src="http://www.uml.org.cn/oobject/images/image006.gif" alt="" width="543" height="153" /></span></p>
<p align="left"><span style="color: #000000;"><span style="display: none;"> V`}u:t7r </span><span style="display: none;">xn	a</span><strong>合成（Composition） </strong><span style="display: none;"> {/i&amp;o </span><br />
 </span></p>
<p><span style="color: #000000;">合成 （<strong>图G</strong>） 是聚合的一种特殊形式，暗示“局部”在“整体”内部的生存期职责。合成也是非共享的。所以，虽然局部不一定要随整体的销毁而被销毁，但整体要么负责保持局 部的存活状态，要么负责将其销毁。局部不可与其他整体共享。但是，整体可将所有权转交给另一个对象，后者随即将承担生存期职责。</span></p>
<p><span style="color: #000000;">Employee和TimeCard的关系或许更适合表示成“合成”，而不是表示成“关联”。</span></p>
<p style="text-align: center;"><span style="color: #000000;">图G</span></p>
<p style="text-align: center;"><span style="color: #000000;"><img style="width: 470px;" src="http://www.uml.org.cn/oobject/images/image007.gif" alt="" width="543" height="153" /></span></p>
<p align="left"><span style="color: #000000;"><strong>泛化（Generalization） </strong><span style="display: none;"> _%	i!LyG </span><br />
 </span></p>
<p><span style="color: #000000;">泛化（<strong>图H</strong>）表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素。在Java中，用<em>extends</em>关键字来直接表示这种关系。</span></p>
<p style="text-align: center;"><span style="color: #000000;">图H</span></p>
<p style="text-align: center;"><span style="color: #000000;"><img style="width: 470px;" src="http://www.uml.org.cn/oobject/images/image008.gif" alt="" width="543" height="153" /></span></p>
<p align="left"><strong><span style="color: #000000;"><span style="display: none;"> = oTj3+7 </span>实现（Realization）<span style="display: none;"> 3\K;y&gt;NK </span> <br />
 </span></strong></p>
<p><span style="color: #000000;">实例（<strong>图I</strong>）关系指定两个实体之间的一个合同。换言之，一个实体定义一个合同，而另一个实体保证履行该合同。对Java应用程序进行建模时，实现关系可直接用<em>implements</em>关键字来表示。</span></p>
<p style="text-align: center;"><span style="color: #000000;">图I</span></p>
<p style="text-align: center;"><span style="color: #000000;"><img style="width: 470px;" src="http://www.uml.org.cn/oobject/images/image009.gif" alt="" width="543" height="153" /></span></p>
</div>
</blockquote>
<h4>引用解析1</h4>
<blockquote><p><span style="font-family: Verdana;">常见的关系有：<strong>一般化关系（Generalization）</strong>，<strong>关联关系（Association）</strong>，聚合关系（Aggregation），合成关系（Composition），<strong>依赖关系（Dependency）</strong>。</span><span style="font-family: Verdana;"> 其中，聚合关系（Aggregation），合成关系（Composition）属于关联关系（Association）。</span></p>
<p><span style="font-family: Verdana;"> 一般关系表现为继承或实现关系(is a)，关联关系表现为变量(has a )，依赖关系表现为函数中的参数(use a)。</span></p>
<p><span style="font-family: Verdana;"> 一般化关系：表示为类与类之间的继承关系，接口与接口之间的继承，类对接口的实现关系。<br />
 表示方法： 用一个空心箭头＋实线，箭头指向父类。或空心箭头＋虚线，如果父类是接口。</span></p>
<p><span style="font-family: Verdana;"> 关联关系：类与类之间的联接，它使一个类知道另一个类的属性和方法。<br />
 表示方法：用 实线＋箭头， 箭头指向被使用的类。</span></p>
<p><span style="font-family: Verdana;"> 聚合关系：是关联关系的一种，是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上，啊聚合关系两个类处于不同的层次，一个是整体，一个是部分。<br />
 表示方法：空心菱形＋实线＋箭头，箭头指向部分。</span></p>
<p><span style="font-family: Verdana;"> 合成关系：是关联关系的一种，是比聚合关系强的关系。它要求普通的聚合关系中代表整体的<a href="http://www.itisedu.com/phrase/200603090845215.html" target="_new"><span style="color: #0000ff;"><span style="text-decoration: underline;">对象</span></span></a>负责代表部分的对象的生命周期，合成关系不能共享。<br />
 表示方法：实心菱形＋实线＋箭头，</span></p>
<p><span style="font-family: Verdana;"> 依赖关系：是类与类之间的连接，表示一个类依赖于另一个类的定义。例如如果A依赖于B，则B体现为局部变量，方法的参数、或静态方法的调用。<br />
 表示方法：虚线＋箭头</span></p>
<p><br class="spacer_" /></p>
</blockquote>
<h4>引用解析2</h4>
<blockquote><p>1依赖：最弱的关系，A依赖B，就是说A的声明或者实现必须include B类的头文件。</p>
<p>2关联：在设计模式中叫做‘相识’。具有这种关系的两个类彼此没有拥有关系，并且互相之间没有创建和销毁的责任，只是存在某种调用关系。</p>
<p>3聚集：和关联比较想象，A聚集B的确切含义指：A类的某个成员是B类实例的指针，B类对象实例不是在构造A对象时隐含构造的，必须通过其它途径构造，但是在A类对象析构的时候必须析构B类对象实例。</p>
<p>4包含：实际上是值聚集，A包含B的确切含义指：A类的某个成员是B类的对象实例，A类构造时同时构造B类，A类析构时也必须析构B类。</p>
<p>5继承：较容易理解。</p>
</blockquote>
<h4>参考资料</h4>
<ul>
<li><a href="http://www.koyoz.com/blog/?action=show&amp;id=108" target="_blank">UML系列学习之——关系定义 <br />
 </a></li>
<li><a href="http://fluagen.blog.51cto.com/146595/46634" target="_blank">http://fluagen.blog.51cto.com/146595/46634</a></li>
<li><a href="http://www.koyoz.com/blog/?action=show&amp;id=108" target="_blank">UML系列学习之——关系定义</a></li>
</ul>
<p style="text-align: center;"><strong><span style="color: #ff6600;">这是一个Beta版的文档，随时可能会更新和完善。</span><br />
 </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/255/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux入门-安装篇(Debian 服务器版)</title>
		<link>http://lee.kometo.com/archives/170</link>
		<comments>http://lee.kometo.com/archives/170#comments</comments>
		<pubDate>Wed, 29 Oct 2008 17:57:55 +0000</pubDate>
		<dc:creator>Emeric lee</dc:creator>
				<category><![CDATA[WEB应用开发]]></category>
		<category><![CDATA[深入PHP]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[安装]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[虚拟主机]]></category>

		<guid isPermaLink="false">http://lee.kometo.com/?p=170</guid>
		<description><![CDATA[本文描述了安装一个Linux（Debian）服务器的全过程，并附加了一些必要的参考文章，通篇以Debian为基础，以建立一个服务器（非桌面环境）为主要目的。 准备知识 这里列出的是一些经常使用到命令和功能，你不需要现在就完全理解，以后的配置工作随时会需要借助这些命令，粗略看一下，需要是再回来仔细看。 查找文件 #在/etc目录下查找init.d find /etc -name init.d #在当前目录下查找init* find . -name init* #在根目录下查找所有文件名以httpd开头的文件，并使用ls输出 find / -name 'httpd*' -ls #find还有很多更高级的功能，根据时间查找，指定查找层次等 &#160; ls *A* #查询当前目录下（含子目录）的匹配文件 (描述可能不准确) 进程及任务管理 ps / ps -A f #查看进程列表 kill ID #杀死指定进程ID jobs #当前任务列表 fg #把job提到前台 bg #把job放到后台运行 &#38;amp; #这个用在一个命令的最后，可以把这个命令放到后台执行 #快捷键 ctrl+z 把当前工作放到后台，并停止运行 参考：http://www.linuxeden.com/html/sysadmin/20080618/58737.html 修改主机名 hostname newname 主机的域信息在 /etc/hosts 重启,开关机 reboot [...]]]></description>
			<content:encoded><![CDATA[<p>本文描述了安装一个Linux（Debian）服务器的全过程，并附加了一些必要的参考文章，通篇以Debian为基础，以建立一个服务器（非桌面环境）为主要目的。</p>
<h3><span id="more-170"></span><br />
</h3>
<h3><strong>准备知识</strong></h3>
<p>这里列出的是一些经常使用到命令和功能，你不需要现在就完全理解，以后的配置工作随时会需要借助这些命令，粗略看一下，需要是再回来仔细看。</p>
<ul>
<li>查找文件

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#在/etc目录下查找init.d</span>
<span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>etc <span style="color: #660033;">-name</span> init.d
<span style="color: #666666; font-style: italic;">#在当前目录下查找init*</span>
<span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-name</span> init<span style="color: #000000; font-weight: bold;">*</span>
<span style="color: #666666; font-style: italic;">#在根目录下查找所有文件名以httpd开头的文件，并使用ls输出</span>
<span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #660033;">-name</span> <span style="color: #ff0000;">'httpd*'</span> <span style="color: #660033;">-ls</span>
<span style="color: #666666; font-style: italic;">#find还有很多更高级的功能，根据时间查找，指定查找层次等</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">*</span>A<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #666666; font-style: italic;">#查询当前目录下（含子目录）的匹配文件 (描述可能不准确)</span></pre></div></div>

</li>
<li> </li>
<li>进程及任务管理

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ps</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #c20cb9; font-weight: bold;">ps</span> <span style="color: #660033;">-A</span>  f     <span style="color: #666666; font-style: italic;">#查看进程列表</span>
<span style="color: #c20cb9; font-weight: bold;">kill</span> ID           <span style="color: #666666; font-style: italic;">#杀死指定进程ID</span>
<span style="color: #7a0874; font-weight: bold;">jobs</span>              <span style="color: #666666; font-style: italic;">#当前任务列表</span>
<span style="color: #7a0874; font-weight: bold;">fg</span>                <span style="color: #666666; font-style: italic;">#把job提到前台</span>
<span style="color: #7a0874; font-weight: bold;">bg</span>                <span style="color: #666666; font-style: italic;">#把job放到后台运行</span>
<span style="color: #000000; font-weight: bold;">&amp;</span>amp;                 <span style="color: #666666; font-style: italic;">#这个用在一个命令的最后，可以把这个命令放到后台执行</span>
<span style="color: #666666; font-style: italic;">#快捷键 ctrl+z 把当前工作放到后台，并停止运行</span></pre></div></div>

<p>参考：http://www.linuxeden.com/html/sysadmin/20080618/58737.html</p>
</li>
<li>修改主机名<br />
 hostname newname<br />
 主机的域信息在 /etc/hosts</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<ul>
</ul>
</li>
<li>重启,开关机
<ul>
<li>reboot 重启 </li>
<li>poweroff 关机 </li>
<li>halt/shutdown</li>
<li>开关机的高级控制命令</li>
<li> /etc/init.d/下有一些控制脚本，可以用来控制一些服务启动，关闭等<br />
 调用这些脚本必须用全路径，类似：<br />
 /etc/rc.d/init.d/proftpd  restart<br />
 /etc/init.d/networking {start|stop|restart|force-reload} </li>
<li>重启一些指定服务</li>
</ul>
</li>
<li>其它
<ul>
<li>用好 TAB建，命令行下，很多情况它可以帮助你自动完成</li>
<li>Vim编辑器是必须掌握的，参看这里：<a rel="bookmark" href="../index.php/archives/176">Linux通用编辑器 VI VIM 入门</a></li>
</ul>
</li>
</ul>
<h3><strong>安装123</strong></h3>
<ul>
<li>启动盘启动安装<br />
 没啥好说的，从官网上随便下个好了，其它渠道获得的安装光盘也可以<br />
 如果安装机器可以连接外网的，网速快的直接用最小的MINI镜像（推荐，图形安装界面，很漂亮），这样直接使用最新软件源<br />
 如果安装机器网速慢或者没网络，找个大的镜像吧，并在下面的步骤中跳过 ”配置APT，扫描更新（可选）“</li>
<li>如果有网络，配置好网络，为下一步安装做准</li>
<li>主机名及域名，<br />
 如果你准备使用 www.abc.com这样的域名，建议使用www作为主机名，abc.com作为域名（实际可以随便填）<br />
 如果不准备使用域名，随便填</li>
<li>磁盘分区<br />
 没啥，按提示做好了，除非有特殊需要，全默认好了 </li>
<li>设置Root帐号密码，另外建立一个普通帐号</li>
<li>开始安装系统文件&#8230;&#8230;.<br />
 有点慢，5分钟吧</li>
<li>配置APT，扫描更新（可选）<br />
 不要选择里面的中国的镜像服务器，它比美国的还慢，还不稳定<br />
 推荐一个国内镜像http://www.anheng.com.cn/debian/ ，不在自动列表中，需要手动输入的，输入这个就行www.anheng.com.cn（测试时间&#8211;2008-10.29）<br />
 这里的进度条有时有问题，会长时间不动，其实是正在下载镜像中的资源，如果你不幸选择了一个较慢的镜像服务器，等待吧，也许要20分钟+～～<em>（出现这种情况建议你考虑重新开始安装以转换或放弃镜像服务器，否则接下来的的软件会让你崩溃）</em><br />
 如果有问题就直接跳过吧，以后可以在做的如果使用的是MINI镜像（&lt;10M）安装，这一步是必须的 </li>
<li>选择系统安装包<br />
 出现一个安装包列表，让你选择系统功能，如：桌面系统、WEB服务器、文件服务器、标准系统等，可以多选<br />
 这个列表的项目取决于你的安装镜像和方式，如果使用了上面的APT更新，可以获取最全的安装包<br />
 如果你是单机用户，桌面系统和标准系统是必选的<br />
 如果你是服务器用户，根据需要选择吧，也可以什么都不选，安装完再慢慢配<br />
 如果你要快速搭建一个WEB服务器选择 ”web服务器“ ，它会给你配置一个很稳定全面的WEB服务器</li>
<li>安装软件<br />
 安装上面选择安装包，和一些基本系统软件（即使你什么都没选）<br />
 速度取决于你选择的安装包和你的镜像来源 </li>
</ul>
<h3><strong>初始化系统123</strong></h3>
<p>这些工作是在系统安装完成后需要立即进行的工作，他们为你准备一个完善的系统环境，所有操作没有详细说明，可以参看最后的相关文章</p>
<p><strong><br />
 </strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## 更新APT镜像源 ##</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> apt-spy
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>sources.list <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>sources.list.bak
apt-spy update
apt-spy <span style="color: #660033;">-d</span> stable-a Asia <span style="color: #660033;">-t</span> <span style="color: #000000;">10</span>
<span style="color: #c20cb9; font-weight: bold;">apt-get</span> update
<span style="color: #c20cb9; font-weight: bold;">apt-get</span> upgrade
&nbsp;
<span style="color: #666666; font-style: italic;">##安装几个基本软件 ##</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#安装SSH服务，安装完这一步就可以用SSH telnet到服务器管理了</span>
<span style="color: #666666; font-style: italic;">#另一个可能的命令是 apt-get install ssh</span>
<span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> openssh-server
&nbsp;
<span style="color: #666666; font-style: italic;">#安装完整版 VIM</span>
<span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #c20cb9; font-weight: bold;">vim</span>
&nbsp;
<span style="color: #666666; font-style: italic;">## 设定系统时间 ##</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>default<span style="color: #000000; font-weight: bold;">/</span>rcS     <span style="color: #666666; font-style: italic;">#设定硬件时钟的类型，修改UTC=no,重启后生效</span>
<span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ntpdate  <span style="color: #666666; font-style: italic;">#安装网络时间同步服务</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#设定自动同步计划</span>
<span style="color: #666666; font-style: italic;">#添加这一行： */30 * * * * /usr/sbin/ntpdate pool.ntp.org</span>
crontab <span style="color: #660033;">-e</span>
&nbsp;
<span style="color: #666666; font-style: italic;">## 设定系统提示符及bash环境 ##</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">cd</span> ~
<span style="color: #c20cb9; font-weight: bold;">vim</span> .bashrc      <span style="color: #666666; font-style: italic;">#编辑.bashrc文件，去掉所有命令行的注释符，并可以配置promote格式</span>
<span style="color: #7a0874; font-weight: bold;">source</span> .bashrc   <span style="color: #666666; font-style: italic;">#重载bash，是配置生效</span></pre></div></div>

<p><br class="spacer_" /></p>
<p><strong>恭喜你！！完成了，到此一个可以工作的Linux系统就基本完成，后续的是一些进一步管理时需要深入的内容，你可以在需要时参考。</strong></p>
<hr style="width: 2px;" />
<p><br class="spacer_" /></p>
<h3><strong>安全，还是安全，</strong></h3>
<p style="padding-left: 30px;">作为服务器，这是首先应该考虑的，待完成。。。。。～</p>
<p style="padding-left: 30px;">参考：http://man.ddvip.com/os/debiansecuring-howto/ch-sec-services.zh-cn.html</p>
<h3><strong>网络配置</strong></h3>
<p>主要配置文件</p>
<p>/etc/network/interfaces</p>
<p>相关命令：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">hostname</span> newname  <span style="color: #666666; font-style: italic;">#修改主机名</span>
                  <span style="color: #666666; font-style: italic;">#主机的域信息在 /etc/hosts</span>
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span>          <span style="color: #666666; font-style: italic;">#网络配置及显示</span>
route             <span style="color: #666666; font-style: italic;">#路由配置及显示</span>
ip                <span style="color: #666666; font-style: italic;">#IP配置</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#重启网络</span>
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>networking <span style="color: #7a0874; font-weight: bold;">&#123;</span>start<span style="color: #000000; font-weight: bold;">|</span>stop<span style="color: #000000; font-weight: bold;">|</span>restart<span style="color: #000000; font-weight: bold;">|</span>force-reload<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p><br class="spacer_" /></p>
<h3><strong>其他软件简单介绍</strong><br />
</h3>
<ul>
<li><strong>ISPCP<br />
 </strong>参考 http://www.isp-control.net/documentation/start/installation/debian</li>
<li><strong>ProFTPD<br />
 </strong>参考 http://goto8848.net/2008/08/disable-proftpd-ipv6/<br />
 <strong>重启  /etc/rc.d/init.d/proftpd </strong></li>
</ul>
<ul>
</ul>
<p><br class="spacer_" /></p>
<p><strong>相关文章</strong></p>
<ul>
<li><a rel="bookmark" href="../index.php/archives/178">linux入门-系统时间设置篇</a></li>
<li><a rel="bookmark" href="../index.php/archives/185">linux入门-终端环境(bash)设置篇</a></li>
<li><a rel="bookmark" href="../index.php/archives/189">Linux入门-用户管理篇</a></li>
<li><a rel="bookmark" href="../index.php/archives/176">Linux入门-通用编辑器 VI VIM </a></li>
<li><a rel="bookmark" href="../index.php/archives/195">Linux入门-软件管理篇(APT)</a></li>
</ul>
<p><br class="spacer_" /></p>
<h3 class="codeblock">
<hr style="width: 1px;" />
<hr style="border: 1px solid #cccccc; width: 2px; color: #ffffff;" noshade="noshade" />
</h3>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://lee.kometo.com/archives/170/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

