<?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"
	>

<channel>
	<title>傑傑劉的技术博客</title>
	<atom:link href="http://www.lj1984.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lj1984.com</link>
	<description>看事物看本质</description>
	<pubDate>Sat, 27 Dec 2008 18:29:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>互联网项目人员配备的演变过程</title>
		<link>http://www.lj1984.com/2008/12/28/%e4%ba%92%e8%81%94%e7%bd%91%e9%a1%b9%e7%9b%ae%e4%ba%ba%e5%91%98%e9%85%8d%e5%a4%87%e7%9a%84%e6%bc%94%e5%8f%98%e8%bf%87%e7%a8%8b/</link>
		<comments>http://www.lj1984.com/2008/12/28/%e4%ba%92%e8%81%94%e7%bd%91%e9%a1%b9%e7%9b%ae%e4%ba%ba%e5%91%98%e9%85%8d%e5%a4%87%e7%9a%84%e6%bc%94%e5%8f%98%e8%bf%87%e7%a8%8b/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 16:55:15 +0000</pubDate>
		<dc:creator>傑傑劉</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web 管理]]></category>

		<guid isPermaLink="false">http://www.lj1984.com/?p=30</guid>
		<description><![CDATA[（原创文章，转载请说明出处）
我自己的亲身经历，是否具备广泛的代表性有待考究，时间从我2003年开始工作到现在截至


　　阶段1
　　老板下面就是程序，或者程序自己是自己的老板，美工基本没有，在这样的条件下要捣鼓个网站出来，可想而知那个年代什么都是程序决定了算，所以网站外观整体水平偏低 规模也不会太大 也基本谈不上运营 ：）
　　阶段2
　　增加了专职美工，毕竟程序员看的最多的还是代码，从那时开始，大家也似乎都明白了一点：互联网不能都指望风投给钱烧着玩下去，所以市场人员开始介入，要将流量转化为现金，不会天天指望着风投，而技术与市场人员的矛盾在这个时期也显得尤为突出
　　阶段3
　　Flash越来越成熟，而以前的美工大多都是平面设计出身，并且平面设计传统而应用面广泛，有不在少数的人没有再跟进Flash，于是，专职的Flash美工出现
　　项目逐渐变大，人多了事情也多，很多项目经理也从传统行业向互联网项目转型，负责协调处理各方事务、调配资源，让项目运作良好，技术和市场人员的矛盾多了项目经理润滑后，得到了很大的缓解
　　阶段4
　　从项目经理这个职位的历史来看，还是在协调事务和调配资源的工作多一些，大多都应对不来互联网随时都在变化的产品需求，于是专职的产品经理，一个游走于市场人员、技术人员、美工人员之间的角色显得日益重要，从此产品怎么做不是市场或者具体实施人员来决定，做成什么样和该怎么做还是两个很不同的问题，而市场人员又往往在技术和理念方面相对匮乏
　　项目经理从此也有了更加清晰的定位，以往他们大多都要扮演如今产品经理扮演的角色，但也正因如此，如果项目不够大，那么项目经理也越来越没事可做，乃至最终没有项目经理
　　程序的事务也多了很多，于是有了技术经理来负责上下沟通和管理程序开发事务，协调程序员之间的工作，虽然技术经理在传统软件行业一直都有，但Web项目和传统的软件项目还是有很多不同之处，所以这里也算上
　　程序员没时间天天玩系统、盯着系统，虽然系统方面的事情能处理但却效率不高，所以也开始有专门的系统管理员，采购硬件、配置调试各种操作系统和服务器软件、性能测算都是他们的强项
　　阶段5
　　现在的应用在数据库这层都有一定的瓶颈，日益复杂的应用带来复杂的存储需求，小型数据库（Mysql，Access）不够用上大型数据库（Oracle、MSSQL）的情况也越来越多，于是有了专职DBA来处理数据库的设计和维护、性能优化、存储过程编写等数据库相关事务，硬件越来越便宜，IDC不再神秘而高贵，国内网络状况错综复杂，这摊子事多了，系统管理员也是十分需要DBA的协助
　　Flash的演变比较有意思，RIA的思想日渐普及，动画效果的技术含量越来越高，以前的Flash美工又要做设计，又要编写脚本实现动画效果，到最后是两头不沾边，大多都是要么美工强一些，要么编程强一些，于是平面美工兼职Flash组件、场景等动画元素的设计，Flash编程请专职人员完成，以前的Flash美工就这样被两级分化
　　专职UED出现，专注用户行为研究，从理性的数据中得出最友好的用户体验，并转化为交互设计的成果，以前干这活的的美工如今只需要关注视觉方面的东西
　　程序这头，MVC大行其道，Web 2.0也带来了很多开发观念的转变，叫云计算也好，分布式计算也好，如今数据呈现和计算更多都会交给客户端完成，导致视图层也有大量的开发工作，以前的Web程序员都需要掌握HTML/CSS/JS/服务器端脚本语言至少4种技术才能较好的完成前端开发和前后结合的工作，需要掌握乃至精通的东西太多，人也不好找，于是有了专职前端开发工程师一职，他们精通JS、HTML、CSS，并知晓一定的服务器端技术，由他们专职完成前后结合以及视图层的编码开发工作，这个角色的概念还是比较新，合适的人选不多，算是一个人才缺口
　　现在一个项目往往也不止一种技术，于是各种技术的开发人员都会配备，大家按约定的协议或接口互相衔接，在某些功能模块上，还会配备一些领域专家，例如数学（算法）、图像、流媒体等，所以具体还会根据项目实际情况变化
　　整个演变过程的主线是分工细化，不断探索、尝试只为得出更好的配置方案，更加有利于大规模、高复杂度应用的实现，也体现了国内互联网行业从混乱走向正规的过程，6个阶段可以从时间的角度来看，也可以用于判断项目的规模和管理水平
　　以上只是个人的一些总结，欢迎指正和提出新观点讨论
]]></description>
			<content:encoded><![CDATA[<p>（原创文章，转载请说明出处）<br />
我自己的亲身经历，是否具备广泛的代表性有待考究，时间从我2003年开始工作到现在截至</p>
<p style="text-align: center;"><a href="http://www.lj1984.com/wp-content/uploads/2008/12/webe9a1b9e79baee4babae59198e9858de5a487e6bc94e58f98e8bf87e7a88b.jpeg"></a></p>
<p style="text-align: center;"><a href="http://www.lj1984.com/wp-content/uploads/2008/12/webe9a1b9e79baee4babae59198e9858de5a487e6bc94e58f98e8bf87e7a88b.jpeg"><img class="size-medium wp-image-31  aligncenter" title="webe9a1b9e79baee4babae59198e9858de5a487e6bc94e58f98e8bf87e7a88b" src="http://www.lj1984.com/wp-content/uploads/2008/12/webe9a1b9e79baee4babae59198e9858de5a487e6bc94e58f98e8bf87e7a88b-300x129.jpg" alt="Web项目人员配备演变过程" width="300" height="129" /></a></p>
<p>　　阶段1</p>
<p>　　老板下面就是程序，或者程序自己是自己的老板，美工基本没有，在这样的条件下要捣鼓个网站出来，可想而知那个年代什么都是程序决定了算，所以网站外观整体水平偏低 规模也不会太大 也基本谈不上运营 ：）</p>
<p>　　阶段2</p>
<p>　　增加了专职美工，毕竟程序员看的最多的还是代码，从那时开始，大家也似乎都明白了一点：互联网不能都指望风投给钱烧着玩下去，所以市场人员开始介入，要将流量转化为现金，不会天天指望着风投，而技术与市场人员的矛盾在这个时期也显得尤为突出</p>
<p>　　阶段3</p>
<p>　　Flash越来越成熟，而以前的美工大多都是平面设计出身，并且平面设计传统而应用面广泛，有不在少数的人没有再跟进Flash，于是，专职的Flash美工出现</p>
<p>　　项目逐渐变大，人多了事情也多，很多项目经理也从传统行业向互联网项目转型，负责协调处理各方事务、调配资源，让项目运作良好，技术和市场人员的矛盾多了项目经理润滑后，得到了很大的缓解</p>
<p>　　阶段4</p>
<p>　　从项目经理这个职位的历史来看，还是在协调事务和调配资源的工作多一些，大多都应对不来互联网随时都在变化的产品需求，于是专职的产品经理，一个游走于市场人员、技术人员、美工人员之间的角色显得日益重要，从此产品怎么做不是市场或者具体实施人员来决定，做成什么样和该怎么做还是两个很不同的问题，而市场人员又往往在技术和理念方面相对匮乏</p>
<p>　　项目经理从此也有了更加清晰的定位，以往他们大多都要扮演如今产品经理扮演的角色，但也正因如此，如果项目不够大，那么项目经理也越来越没事可做，乃至最终没有项目经理</p>
<p>　　程序的事务也多了很多，于是有了技术经理来负责上下沟通和管理程序开发事务，协调程序员之间的工作，虽然技术经理在传统软件行业一直都有，但Web项目和传统的软件项目还是有很多不同之处，所以这里也算上</p>
<p>　　程序员没时间天天玩系统、盯着系统，虽然系统方面的事情能处理但却效率不高，所以也开始有专门的系统管理员，采购硬件、配置调试各种操作系统和服务器软件、性能测算都是他们的强项</p>
<p>　　阶段5</p>
<p>　　现在的应用在数据库这层都有一定的瓶颈，日益复杂的应用带来复杂的存储需求，小型数据库（Mysql，Access）不够用上大型数据库（Oracle、MSSQL）的情况也越来越多，于是有了专职DBA来处理数据库的设计和维护、性能优化、存储过程编写等数据库相关事务，硬件越来越便宜，IDC不再神秘而高贵，国内网络状况错综复杂，这摊子事多了，系统管理员也是十分需要DBA的协助</p>
<p>　　Flash的演变比较有意思，RIA的思想日渐普及，动画效果的技术含量越来越高，以前的Flash美工又要做设计，又要编写脚本实现动画效果，到最后是两头不沾边，大多都是要么美工强一些，要么编程强一些，于是平面美工兼职Flash组件、场景等动画元素的设计，Flash编程请专职人员完成，以前的Flash美工就这样被两级分化</p>
<p>　　专职UED出现，专注用户行为研究，从理性的数据中得出最友好的用户体验，并转化为交互设计的成果，以前干这活的的美工如今只需要关注视觉方面的东西</p>
<p>　　程序这头，MVC大行其道，Web 2.0也带来了很多开发观念的转变，叫云计算也好，分布式计算也好，如今数据呈现和计算更多都会交给客户端完成，导致视图层也有大量的开发工作，以前的Web程序员都需要掌握HTML/CSS/JS/服务器端脚本语言至少4种技术才能较好的完成前端开发和前后结合的工作，需要掌握乃至精通的东西太多，人也不好找，于是有了专职前端开发工程师一职，他们精通JS、HTML、CSS，并知晓一定的服务器端技术，由他们专职完成前后结合以及视图层的编码开发工作，这个角色的概念还是比较新，合适的人选不多，算是一个人才缺口</p>
<p>　　现在一个项目往往也不止一种技术，于是各种技术的开发人员都会配备，大家按约定的协议或接口互相衔接，在某些功能模块上，还会配备一些领域专家，例如数学（算法）、图像、流媒体等，所以具体还会根据项目实际情况变化</p>
<p>　　整个演变过程的主线是分工细化，不断探索、尝试只为得出更好的配置方案，更加有利于大规模、高复杂度应用的实现，也体现了国内互联网行业从混乱走向正规的过程，6个阶段可以从时间的角度来看，也可以用于判断项目的规模和管理水平</p>
<p>　　以上只是个人的一些总结，欢迎指正和提出新观点讨论</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lj1984.com/2008/12/28/%e4%ba%92%e8%81%94%e7%bd%91%e9%a1%b9%e7%9b%ae%e4%ba%ba%e5%91%98%e9%85%8d%e5%a4%87%e7%9a%84%e6%bc%94%e5%8f%98%e8%bf%87%e7%a8%8b/feed/</wfw:commentRss>
		</item>
		<item>
		<title>install PHP with complie on ubuntu8(debian)</title>
		<link>http://www.lj1984.com/2008/12/15/install-php-with-complie-on-ubuntu8debian/</link>
		<comments>http://www.lj1984.com/2008/12/15/install-php-with-complie-on-ubuntu8debian/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 11:07:20 +0000</pubDate>
		<dc:creator>傑傑劉</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[服务器]]></category>

		<category><![CDATA[linux debian php mysql ubuntu nginx]]></category>

		<guid isPermaLink="false">http://www.lj1984.com/?p=22</guid>
		<description><![CDATA[目标：nginx+php (fast cgi)+mysql
php configure如下：
./configure --enable-fastcgi --with-config-file-path=/etc/php.ini --with-curl --with-mysql --with-mysqli -with-pdo-mysql --with-ldap --with-gd --with-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xmlrpc --enable-soap --enable-sockets --enable-mbstring
ubuntu默认安装后，mysql采用apt-get安装，执行上述php编译时出现了很多package找不到的情况，用apt-get来解决不是难事，这次遇见的缺失包：
libxml2
libxml2-dev
curl
libcurl-dev
libpng-dev
libjpeg-dev
libfreetype6
libfreetype6-dev
libmysqlclient-dev
有了包名，使用“apt-get install 包名”进行安装即可
如果还有缺失包而上面没有列出，可通过http://www.debian.org/distrib/packages#search_packages搜索来获取正确的包名，再使用apt-get install安装
]]></description>
			<content:encoded><![CDATA[<p>目标：nginx+php (fast cgi)+mysql</p>
<p>php configure如下：<br />
./configure --enable-fastcgi --with-config-file-path=/etc/php.ini --with-curl --with-mysql --with-mysqli -with-pdo-mysql --with-ldap --with-gd --with-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xmlrpc --enable-soap --enable-sockets --enable-mbstring</p>
<p>ubuntu默认安装后，mysql采用apt-get安装，执行上述php编译时出现了很多package找不到的情况，用apt-get来解决不是难事，这次遇见的缺失包：</p>
<p>libxml2<br />
libxml2-dev</p>
<p>curl<br />
libcurl-dev<br />
libpng-dev<br />
libjpeg-dev<br />
libfreetype6<br />
libfreetype6-dev</p>
<p>libmysqlclient-dev</p>
<p>有了包名，使用“apt-get install 包名”进行安装即可<br />
如果还有缺失包而上面没有列出，可通过<a href="http://www.debian.org/distrib/packages#search_packages">http://www.debian.org/distrib/packages#search_packages</a>搜索来获取正确的包名，再使用apt-get install安装</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lj1984.com/2008/12/15/install-php-with-complie-on-ubuntu8debian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mysql的架构体系</title>
		<link>http://www.lj1984.com/2008/09/09/mysql%e7%9a%84%e6%9e%b6%e6%9e%84%e4%bd%93%e7%b3%bb/</link>
		<comments>http://www.lj1984.com/2008/09/09/mysql%e7%9a%84%e6%9e%b6%e6%9e%84%e4%bd%93%e7%b3%bb/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 03:39:05 +0000</pubDate>
		<dc:creator>傑傑劉</dc:creator>
		
		<category><![CDATA[服务器]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.lj1984.com/?p=15</guid>
		<description><![CDATA[今天在mysql的手册中翻到一张mysql的架构图，觉得挺好的，这里贴出来share一下，估计大多人都没有太怎么花时间研究手册而miss掉这张图，这张图可以非常直观的说明mysql的层次和架构体系

]]></description>
			<content:encoded><![CDATA[<p>今天在mysql的手册中翻到一张mysql的架构图，觉得挺好的，这里贴出来share一下，估计大多人都没有太怎么花时间研究手册而miss掉这张图，这张图可以非常直观的说明mysql的层次和架构体系</p>
<p><a href="http://www.lj1984.com/wp-content/uploads/2008/09/mysql.jpg"><img class="alignnone size-medium wp-image-16" title="mysql层次架构体系" src="http://www.lj1984.com/wp-content/uploads/2008/09/mysql-300x201.jpg" alt="" width="300" height="201" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lj1984.com/2008/09/09/mysql%e7%9a%84%e6%9e%b6%e6%9e%84%e4%bd%93%e7%b3%bb/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Xdebug 概览</title>
		<link>http://www.lj1984.com/2008/07/14/xdebug-%e6%a6%82%e8%a7%88/</link>
		<comments>http://www.lj1984.com/2008/07/14/xdebug-%e6%a6%82%e8%a7%88/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 06:10:21 +0000</pubDate>
		<dc:creator>傑傑劉</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://www.lj1984.com/?p=6</guid>
		<description><![CDATA[xdebug是一个开源的、用于调试PHP程序的调试工具（debug tools），它是以zend扩展的形式和PHP的内核集成在一起的，功能实现在相对底层，对外的接口是PHP函数和配置文件选项，安装xdebug后，还可利用dbgp和gdb协议来对php脚本进行调试，例如php eclipse就同时支持ZendDebug和Xdebug，xdebug与eclipse的通讯就是基于dbgp协议来完成的
以下是官方网站对xdebug的介绍

xdebug 扩展帮助你在调试PHP程序时提供大量有价值的调试信息，xdebug能提供包括以下调试信息：
在错误消息中提供堆栈及函数信息，例如：

显示用户自定义函数中全部的参数信息
函数名、源文件以及出错代码的所在行
同时也支持类方法的上述信息
内存分配
防止死循环

xdebug的安装
在xdebug的官方网站上提供和PHP版本对应的源代码和Windows下的dll文件下载
对于Linux用户，可下载源代码自行编译
对于Windows用户可下载dll文件直接使用
在Linux下编译xdebug的方法在源码包中的README文件有详细描述，按步骤编译和安装即可
另外，从源码包的结构来看，xdebug也可作为PECL模块的形式来安装
pecl主页：http://pecl.php.net/
pecl命令的详细使用：
$pecl help 或
$pecl help [command]进行查看，例如：$pecl help install
在Linux下：编译并在编译目录成功生成xdebug.so后，在Windows下：下载到与PHP版本对应的xdebug.dll后，修改php.ini文件，加入以下一行以启动xdebug：
在Linux下：zend_extension="/wherever/you/put/it/xdebug.so"
在Windows下：zend_extension_ts="c:/php/modules/xdebug.dll"
与安装PHP扩展不同，安装zend扩展需要明确指定.so(dll)文件的绝对路径，而安装PHP扩展，.so(dll)文件的路径是通过extension_dir来指定的
xdebug使用了Zend扩展的机制实现了debug功能，并且没有对其它zend扩展产生依赖，所以不安装ZendExtensionManager也可照常使用
安装完毕，使用php -m查看，如xdebug出现在了模块列表中，则表示安装成功
重启apache以便apache中的php_module及时载入新增加的xdebug模块
对于cli模式，对php.ini的修改是即时生效的
以下是xdebug的所有可配置选项，通过phpinfo()或者php -i查看当前xdebug配置
xdebug
xdebug support =&#62; enabled
Version =&#62; 2.0.0
Supported protocols =&#62; Revision
DBGp - Common DeBuGger Protocol =&#62; $Revision: 1.125 $
GDB - GNU Debugger protocol =&#62; $Revision: 1.87 $
PHP3 - PHP 3 Debugger protocol =&#62; $Revision: 1.22 $
Directive =&#62; Local Value =&#62; Master Value
xdebug.auto_trace =&#62; On =&#62; On
xdebug.collect_includes [...]]]></description>
			<content:encoded><![CDATA[<p>xdebug是一个开源的、用于调试PHP程序的调试工具（debug tools），它是以zend扩展的形式和PHP的内核集成在一起的，功能实现在相对底层，对外的接口是PHP函数和配置文件选项，安装xdebug后，还可利用dbgp和gdb协议来对php脚本进行调试，例如php eclipse就同时支持ZendDebug和Xdebug，xdebug与eclipse的通讯就是基于dbgp协议来完成的</p>
<p>以下是官方网站对xdebug的介绍</p>
<p><a href="http://www.lj1984.com/wp-content/uploads/2008/03/snap1.jpg"><img src="http://www.lj1984.com/wp-content/uploads/2008/03/snap1.jpg" border="0" alt="" /><span id="more-6"></span></a></p>
<p>xdebug 扩展帮助你在调试PHP程序时提供大量有价值的调试信息，xdebug能提供包括以下调试信息：</p>
<p>在错误消息中提供堆栈及函数信息，例如：</p>
<ul>
<li>显示用户自定义函数中全部的参数信息</li>
<li>函数名、源文件以及出错代码的所在行</li>
<li>同时也支持类方法的上述信息</li>
<li>内存分配</li>
<li>防止死循环</li>
</ul>
<p>xdebug的安装</p>
<p>在xdebug的官方网站上提供和PHP版本对应的源代码和Windows下的dll文件下载<br />
对于Linux用户，可下载源代码自行编译<br />
对于Windows用户可下载dll文件直接使用</p>
<p>在Linux下编译xdebug的方法在源码包中的README文件有详细描述，按步骤编译和安装即可<br />
另外，从源码包的结构来看，xdebug也可作为PECL模块的形式来安装<br />
pecl主页：<a href="http://pecl.php.net/">http://pecl.php.net/</a><br />
pecl命令的详细使用：<br />
$pecl help 或<br />
$pecl help [command]进行查看，例如：$pecl help install</p>
<p>在Linux下：编译并在编译目录成功生成xdebug.so后，在Windows下：下载到与PHP版本对应的xdebug.dll后，修改php.ini文件，加入以下一行以启动xdebug：</p>
<p>在Linux下：zend_extension="/wherever/you/put/it/xdebug.so"<br />
在Windows下：zend_extension_ts="c:/php/modules/xdebug.dll"</p>
<p>与安装PHP扩展不同，安装zend扩展需要明确指定.so(dll)文件的绝对路径，而安装PHP扩展，.so(dll)文件的路径是通过extension_dir来指定的</p>
<p>xdebug使用了Zend扩展的机制实现了debug功能，并且没有对其它zend扩展产生依赖，所以不安装ZendExtensionManager也可照常使用</p>
<p>安装完毕，使用php -m查看，如xdebug出现在了模块列表中，则表示安装成功</p>
<p>重启apache以便apache中的php_module及时载入新增加的xdebug模块<br />
对于cli模式，对php.ini的修改是即时生效的</p>
<p>以下是xdebug的所有可配置选项，通过phpinfo()或者php -i查看当前xdebug配置</p>
<p>xdebug</p>
<p>xdebug support =&gt; enabled<br />
Version =&gt; 2.0.0</p>
<p>Supported protocols =&gt; Revision<br />
DBGp - Common DeBuGger Protocol =&gt; $Revision: 1.125 $<br />
GDB - GNU Debugger protocol =&gt; $Revision: 1.87 $<br />
PHP3 - PHP 3 Debugger protocol =&gt; $Revision: 1.22 $</p>
<p>Directive =&gt; Local Value =&gt; Master Value<br />
xdebug.auto_trace =&gt; On =&gt; On<br />
xdebug.collect_includes =&gt; On =&gt; On<br />
xdebug.collect_params =&gt; 1 =&gt; 1<br />
xdebug.collect_return =&gt; On =&gt; On<br />
xdebug.collect_vars =&gt; Off =&gt; Off<br />
xdebug.default_enable =&gt; On =&gt; On<br />
xdebug.dump.COOKIE =&gt; no value =&gt; no value<br />
xdebug.dump.ENV =&gt; no value =&gt; no value<br />
xdebug.dump.FILES =&gt; no value =&gt; no value<br />
xdebug.dump.GET =&gt; no value =&gt; no value<br />
xdebug.dump.POST =&gt; no value =&gt; no value<br />
xdebug.dump.REQUEST =&gt; no value =&gt; no value<br />
xdebug.dump.SERVER =&gt; no value =&gt; no value<br />
xdebug.dump.SESSION =&gt; no value =&gt; no value<br />
xdebug.dump_globals =&gt; On =&gt; On<br />
xdebug.dump_once =&gt; On =&gt; On<br />
xdebug.dump_undefined =&gt; Off =&gt; Off<br />
xdebug.extended_info =&gt; On =&gt; On<br />
xdebug.idekey =&gt; Administrator =&gt; no value<br />
xdebug.manual_url =&gt; <a href="http://www.php.net/">http://www.php.net</a> =&gt; <a href="http://www.php.net/">http://www.php.net</a><br />
xdebug.max_nesting_level =&gt; 100 =&gt; 100<br />
xdebug.profiler_aggregate =&gt; Off =&gt; Off<br />
xdebug.profiler_append =&gt; Off =&gt; Off<br />
xdebug.profiler_enable =&gt; On =&gt; On<br />
xdebug.profiler_enable_trigger =&gt; Off =&gt; Off<br />
xdebug.profiler_output_dir =&gt; D:/php_xdebug_info =&gt; D:/php_xdebug_info<br />
xdebug.profiler_output_name =&gt; cachegrind.out.%p =&gt; cachegrind.out.%p<br />
xdebug.remote_autostart =&gt; Off =&gt; Off<br />
xdebug.remote_enable =&gt; Off =&gt; Off<br />
xdebug.remote_handler =&gt; dbgp =&gt; dbgp<br />
xdebug.remote_host =&gt; localhost =&gt; localhost<br />
xdebug.remote_log =&gt; no value =&gt; no value<br />
xdebug.remote_mode =&gt; req =&gt; req<br />
xdebug.remote_port =&gt; 9000 =&gt; 9000<br />
xdebug.show_exception_trace =&gt; Off =&gt; Off<br />
xdebug.show_local_vars =&gt; Off =&gt; Off<br />
xdebug.show_mem_delta =&gt; Off =&gt; Off<br />
xdebug.trace_format =&gt; 0 =&gt; 0<br />
xdebug.trace_options =&gt; 0 =&gt; 0<br />
xdebug.trace_output_dir =&gt; D:/php_xdebug_info =&gt; D:/php_xdebug_info<br />
xdebug.trace_output_name =&gt; trace.%c =&gt; trace.%c<br />
xdebug.var_display_max_children =&gt; 128 =&gt; 128<br />
xdebug.var_display_max_data =&gt; 512 =&gt; 512<br />
xdebug.var_display_max_depth =&gt; 3 =&gt; 3</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lj1984.com/2008/07/14/xdebug-%e6%a6%82%e8%a7%88/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP &#038; Zend Engine</title>
		<link>http://www.lj1984.com/2008/03/24/php-zend/</link>
		<comments>http://www.lj1984.com/2008/03/24/php-zend/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 08:18:56 +0000</pubDate>
		<dc:creator>傑傑劉</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[oracle]]></category>

		<category><![CDATA[soap]]></category>

		<category><![CDATA[windows]]></category>

		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.lj1984.com/2008/03/24/php-zend/</guid>
		<description><![CDATA[Zend支持PHP开源社区的历史到如今已是由来已久了，Zend每年都会调配强大的技术团队及其它资源为PHP语言本身和PHP开源社区的培养和发展做出贡献
Zend和PHP的历史
在1997年，在Zeev Suraski and Andi Gutmans为PHP的核心解释器进行重写工作时，Zend开始为PHP贡献力量，而重写的核心解释器帮助PHP成为了一个全面发展的程序开发语言
Zend为PHP的贡献一直持续到了PHP4，在PHP4中开始出现了关于Zend Engine的介绍：一个高度优化的解释执行引擎，实现了类似debugger, performance booster等功能众多的自定义扩展采用动态装载的方式集成到PHP里来，在各种扩展功能遍布PHP语言的今天，当你在使用任何PHP语言核心之外的扩展功能时，你都会感激Zend Engine为PHP带来的可扩展性，除此之外，Zend Engine还为PHP提供了内存和资源管理及其它常规的功能
Zend再接再励为PHP贡献了Zend Engine2，Zend Engine2的首次出现是在PHP5中，它为PHP5带来了健壮和可扩展的对象模型以及更多效率上的改善
对PHP持续的支持
Zend领导和指导着PHP语言核心的发展方向及其它各个方面的改进，另外，在当前我们针对Zend Engine而展开的工作上，Zend为PHP注入了十分有意义的改变，例如在PHP5和未来PHP6中带来的几个改变：命名空间和性能的改善、国际化和unicode的全面支持等
另外一个关键领域是在PHP对外协同方面，Zend与各大数据库供应商保持沟通，以确保PHP的数据库功能保持一致，通过这项工作，我们使得大多数数据库开发商所有动作，例如Oracle近期开始支持PHP发起的连接常驻连接池，通过这个功能，使PHP在大型商务应用的开发方面更具可控性
Zend也为PHP注入了十分有价值的Web Service支持，专门定制的SOAP API得以在编译时选择安装，在新平台支持方面，Zend与IBM合作，使得PHP也可在运行在IBM的i5/OS上
同时，Zend也是PHP安全响应小组的支持者，PHP安全响应小组负责发现PHP在安全性方面的问题，同时也负责在收到PHP安全性方面的问题的报告后，快速和有效的解决这些问题
Zend也在进行着效率改善方面的工作，我们最近与微软合作使得PHP 5.2在Windows平台上的运行效率提高了200%到300%，第一次让PHP在Windows上的运行效率与Linux旗鼓相当
Zend将继续保持一贯的在PHP社区上的投资，并带领着核心技术团队继续改善PHP的机能，让PHP变得尽善尽美
原文地址： http://www.zend.com/en/community/php
同步发表在 http://www.yeeyan.com/articles/view/ljj8384/5922
]]></description>
			<content:encoded><![CDATA[<p id="article_body">Zend支持PHP开源社区的历史到如今已是由来已久了，Zend每年都会调配强大的技术团队及其它资源为PHP语言本身和PHP开源社区的培养和发展做出贡献</p>
<p>Zend和PHP的历史</p>
<p>在1997年，在Zeev Suraski and Andi Gutmans为PHP的核心解释器进行重写工作时，Zend开始为PHP贡献力量，而重写的核心解释器帮助PHP成为了一个全面发展的程序开发语言<span id="more-13"></span></p>
<p>Zend为PHP的贡献一直持续到了PHP4，在PHP4中开始出现了关于Zend Engine的介绍：一个高度优化的解释执行引擎，实现了类似debugger, performance booster等功能众多的自定义扩展采用动态装载的方式集成到PHP里来，在各种扩展功能遍布PHP语言的今天，当你在使用任何PHP语言核心之外的扩展功能时，你都会感激Zend Engine为PHP带来的可扩展性，除此之外，Zend Engine还为PHP提供了内存和资源管理及其它常规的功能</p>
<p>Zend再接再励为PHP贡献了Zend Engine2，Zend Engine2的首次出现是在PHP5中，它为PHP5带来了健壮和可扩展的对象模型以及更多效率上的改善</p>
<p>对PHP持续的支持</p>
<p>Zend领导和指导着PHP语言核心的发展方向及其它各个方面的改进，另外，在当前我们针对Zend Engine而展开的工作上，Zend为PHP注入了十分有意义的改变，例如在PHP5和未来PHP6中带来的几个改变：命名空间和性能的改善、国际化和unicode的全面支持等</p>
<p>另外一个关键领域是在PHP对外协同方面，Zend与各大数据库供应商保持沟通，以确保PHP的数据库功能保持一致，通过这项工作，我们使得大多数数据库开发商所有动作，例如Oracle近期开始支持PHP发起的连接常驻连接池，通过这个功能，使PHP在大型商务应用的开发方面更具可控性</p>
<p>Zend也为PHP注入了十分有价值的Web Service支持，专门定制的SOAP API得以在编译时选择安装，在新平台支持方面，Zend与IBM合作，使得PHP也可在运行在IBM的i5/OS上</p>
<p>同时，Zend也是PHP安全响应小组的支持者，PHP安全响应小组负责发现PHP在安全性方面的问题，同时也负责在收到PHP安全性方面的问题的报告后，快速和有效的解决这些问题</p>
<p>Zend也在进行着效率改善方面的工作，我们最近与微软合作使得PHP 5.2在Windows平台上的运行效率提高了200%到300%，第一次让PHP在Windows上的运行效率与Linux旗鼓相当</p>
<p>Zend将继续保持一贯的在PHP社区上的投资，并带领着核心技术团队继续改善PHP的机能，让PHP变得尽善尽美</p>
<p>原文地址： <a href="http://www.zend.com/en/community/php">http://www.zend.com/en/community/php</a><br />
同步发表在 <a href="http://www.yeeyan.com/articles/view/ljj8384/5922">http://www.yeeyan.com/articles/view/ljj8384/5922</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lj1984.com/2008/03/24/php-zend/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MDaemond邮件系统安装手记</title>
		<link>http://www.lj1984.com/2007/12/12/mdaemond-install/</link>
		<comments>http://www.lj1984.com/2007/12/12/mdaemond-install/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 00:05:31 +0000</pubDate>
		<dc:creator>傑傑劉</dc:creator>
		
		<category><![CDATA[服务器]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[MDaemon]]></category>

		<category><![CDATA[sendmail]]></category>

		<category><![CDATA[smtp]]></category>

		<category><![CDATA[邮件系统]]></category>

		<guid isPermaLink="false">http://www.lj1984.com/2007/12/12/mdaemond%e9%82%ae%e4%bb%b6%e7%b3%bb%e7%bb%9f%e5%ae%89%e8%a3%85%e6%89%8b%e8%ae%b0/</guid>
		<description><![CDATA[（原创文章，转载请说明出处：http://www.lj1984.com）
mdaemond是个不错的邮件系统，功能丰富、完整、强大，配置灵活，最新版本为9.62，从版本号来看，多年邮件系统的开发经验积累而成的产品想必不会差，但往往功能和易用性往往都是成反比的，即功能越多、越强大、越灵活，则易用性就越差，复杂的东东让人一点都不觉得友好，我也是花了不少时间才上手，和另一个 Windows下常常提起的imail相比，imail就显得太简单了，mdaemon的整个安装过程不算顺利，甚至可以说是非常不顺利，主要问题出在了由于我是远程安装，看不到某些界面，造成不少麻烦，还有就是McAfee和mdaemond的莫名冲突，让我很是抓狂了一阵……！@#￥%……&#38;×（）
虽然mdaemon的设置选项特别繁多，但看清楚邮件系统的几个最根本的东东后，你就不会被mdaemon弄得晕头转向了，这是我安装完 mdaemon后最大的感受，sendmail是邮件系统的鼻祖，其设计理念至今仍被各种邮件系统采用，按照sendmail的模块划分，一个邮件系统从逻辑上划分为如下模块：
首先是MTA，（mail transfer agent的缩写），从名字看就不难理解这个模块一定是用来发送邮件的，当然，他还负责接收邮件，负责与其他MTA或叫其它邮件系统进行邮件收发工作，例如反向域名解析、黑名单检测、垃圾邮件阻挡等功能都是在这一层来实现
再来就是MDA，（mail delivery agent的缩写），MTA负责将邮件接收到本地之后，交付给MDA，由MDA完成邮件分发到本地用户的工作，例如处理别名、群发通知等功能都是在这一层实现
最后是MUA，（mail user agent的缩写），MUA负责根据客户的请求返回存储在本地服务器的邮件给用户，实现用户对邮件的管理，webmail，pop，imap等功能都是在这一层实现
当然，以上的模块划分只是逻辑概念上的，根据实际应用需求的不同，具体实现可能是各有千秋，不过也由此可见，邮件从一个用户到另一个用户的过程实际是很复杂的，当然，不论实现是怎样的、有多复杂都不是问题，将系统各个功能模块拆分来理解，降低难度，各个击破就可以很快上手了
针对以上逻辑概念，MDaemon分别实现了如下子模块
SMTP Server，SMTP协议的实现（MTA、MDA），SMTP是服务器与服务器之间交换邮件的主要协议，但也不是邮件系统的全部，切记
POP Server，POP3协议的实现（MUA），和webmail一样，pop也是收发邮件的方式一种，安装了此模块你就可以使用foxmail, outlook等客户端通过pop3协议与服务器通讯，最终达到本地收发邮件的目的
IMAP Server（MUA），IMAP协议的实现，供webmail、pop3读取邮件服务器内容的接口系统，安装了此模块即可通过IMAP服务提供给pop3服务器或者任何一个webmail程序访问邮件，不仅仅限制于mdaemon自带的worldclient
Minger，一个本地服务器用户信息查询的服务，由finger协议演变而来，用于垃圾邮件防护及其它安全用途
LDAP Server，LDAP协议的实现，mdaemon支持使用LDAP来实现的帐户数据管理
AntiVirtus，防病毒组件，可以查杀邮件附件中含带的病毒，并在邮件中标注、隔离病毒，以保证用户安全
AntiSpam，防垃圾邮件组件，可以用于阻止垃圾邮件，例如贝叶斯算法自动学习，黑名单、白名单检测等一系列防垃圾邮件的功能，垃圾邮件泛滥的今天，此功能看来是越来越必不可少了，当然，这也是一把双刃剑，你可以指定一系列严格的规定来最大化防止垃圾邮件泛滥，当然，也可能因为这些严格的规定而阻扰了正常的邮件接收，到时boss看到一个重要客人的业务邮件给你维护的邮件系统标识为垃圾邮件，并在一个月后才发现这封邮件，那时，你就真是吃不了兜着走了
DomainPop，可以通过POP协议到指定的远程主机下载邮件后再分发给本地用户
MultiPop，和DomainPop类似，用户通过POP协议到指定的远程主机下载邮件，并保存在自己的邮箱中，如果你用过qq、126、163邮箱中收取其它邮箱邮件到本地这个免费服务你就不难理解这个模块的功能了
WebAdmin，远程配置服务器，如果你是postmaster管理员帐号登入，或者拥有weadmin权限的用户，可以通过 worldclient的入口进入webadmin，远程对邮件服务器，如邮件列表、用户等系统数据进行管理工作，如果你的邮件服务器有专人维护，但服务器又不只做邮件服务器单一用途，你就可以开放webadmin给邮件系统的维护人员通过web形式进行邮件系统维护就OK了，webadmin这时就派上用场了
WorldClient（MUA），Webmail，long long ago，人们收发邮件是用终端登录上服务器来看的，今天的linux依然保留这个功能，MTA接收了邮件后，放到你的home目录，你登录系统时就会有提示有未读邮件了，然后进化到了pop3，再然后就到了webmail，webmail就是查看邮件的一种方式，网页的而已，通过IMAP协议去读取用户邮箱的内容，在网页上显示，worldclient算是很有名气的客户端了，一看到mdaemon就想起worldclient，反之亦然，最难能可贵的是，worldclient还自带了HTTP服务器，紧密的集成为worldclient实现一些高级功能打下了很好的基础，例如状态监视等
整个安装过程是向导式的，安装完毕后会自动提示你配置主域，主域的概念就像apache, iis中的主站点一样，不过apache, iis是制定的web站点，用域名A记录解析，供用户使用浏览器找到主机并浏览主页，这里的主域是其他人通过其它邮件系统发送邮件到本地邮件系统时，通过解析域名的MX记录而到达主机，邮件服务器响应会根据请求的域名作出相应处理，当然，你可以在一台主机上配置多个域名，这样可以同时为多个站点提供邮件服务，除主域外，其它主机可以通过设置菜单中的次域子菜单进行设置， mdaemon的最高管理员（即postmaster）也会在主域配置时一并要求配置，很简单，输入用户名、密码即可，该用户同时也是postmaster用户的别名，拥有此帐号即拥有所有邮件系统的最高操作权限
安装完毕后，你可以立刻通过worldclient登录体验一下mdaemon，用http://localhost:3000即可访问，worldclient默认监听3000端口，如果你的主机没有提供其他web服务，你可以修改为80，这样不用加端口号即可访问
mdaemon默认是禁止smtp开放式转发的，除非你是经过认证的本地用户，关于SMTP交互和SMTP认证，有一个很好的办法可以让你身临其境，在windows下cmd界面，输入telnet 127.0.0.1 25，在看到提示后，先跟SMTP服务器说你好，输入EHLO xxx，xxx可以随便，正式的交互中，xxx往往是可反向域名解析的域名，在收到服务器回应后即可请求验证身份，输入AUTH LOGIN，回车，服务器响应后再输入经过base64编码后的用户名和密码，登录成功后，你就可以要求服务器转发你的邮件了，RCPT命令即指定收件人的地址，SMTP服务器在检测收件人地址不是本地帐户后，会帮你把邮件发出去的！
mdaemon的队列管理也是非常直观和智能化的，主操作界面的大窗口即可一目了然，有本地、远程、重试、坏队列几种之分，具体稍微看看就明白了
以上介绍的都是mdaemon的基础功能，还有很多高级功能这里就不一一说明了，不然mdaemon的说明书就白写了，最后，如果你是远程安装mdaemon，建议你不要用windows自带的远程桌面来操作远程机器，pcanywhere我没试过，我用的netop，一切OK，因为有些安装界面你用远程桌面是看不到的，会让你误以为是操作失败，实际却并不是，只是你看不到而已，另外，装mdaemon就别再装McAfee了，具体原因我没有追究下去，只是装了McAfee后smtp无法收发，具体网上已经说得很多了，可以搜索看看，最后，提醒一下，不管任何邮件系统，他们无非都是在做一件事情，就是在各种协议的基础上实现了某些功能而已，随着你对协议的了解加深，邮件系统的使用就只是熟练问题了，故，学习的过程一定是由协议到软件，而千万不要是软件到协议，mdaemon做为一款专业的邮件系统，对于企业级邮件应用和其它非运营商的使用者来说，都是不错的选择
]]></description>
			<content:encoded><![CDATA[<p>（原创文章，转载请说明出处：<a href="http://www.lj1984.com" title="傑傑劉的技术博客">http://www.lj1984.com</a>）</p>
<p>mdaemond是个不错的邮件系统，功能丰富、完整、强大，配置灵活，最新版本为9.62，从版本号来看，多年邮件系统的开发经验积累而成的产品想必不会差，但往往功能和易用性往往都是成反比的，即功能越多、越强大、越灵活，则易用性就越差，复杂的东东让人一点都不觉得友好，我也是花了不少时间才上手，和另一个 Windows下常常提起的imail相比，imail就显得太简单了，mdaemon的整个安装过程不算顺利，甚至可以说是非常不顺利，主要问题出在了由于我是远程安装，看不到某些界面，造成不少麻烦，还有就是McAfee和mdaemond的莫名冲突，让我很是抓狂了一阵……！@#￥%……&amp;×（）<span id="more-4"></span></p>
<p>虽然mdaemon的设置选项特别繁多，但看清楚邮件系统的几个最根本的东东后，你就不会被mdaemon弄得晕头转向了，这是我安装完 mdaemon后最大的感受，sendmail是邮件系统的鼻祖，其设计理念至今仍被各种邮件系统采用，按照sendmail的模块划分，一个邮件系统从逻辑上划分为如下模块：</p>
<p>首先是MTA，（mail transfer agent的缩写），从名字看就不难理解这个模块一定是用来发送邮件的，当然，他还负责接收邮件，负责与其他MTA或叫其它邮件系统进行邮件收发工作，例如反向域名解析、黑名单检测、垃圾邮件阻挡等功能都是在这一层来实现</p>
<p>再来就是MDA，（mail delivery agent的缩写），MTA负责将邮件接收到本地之后，交付给MDA，由MDA完成邮件分发到本地用户的工作，例如处理别名、群发通知等功能都是在这一层实现</p>
<p>最后是MUA，（mail user agent的缩写），MUA负责根据客户的请求返回存储在本地服务器的邮件给用户，实现用户对邮件的管理，webmail，pop，imap等功能都是在这一层实现</p>
<p>当然，以上的模块划分只是逻辑概念上的，根据实际应用需求的不同，具体实现可能是各有千秋，不过也由此可见，邮件从一个用户到另一个用户的过程实际是很复杂的，当然，不论实现是怎样的、有多复杂都不是问题，将系统各个功能模块拆分来理解，降低难度，各个击破就可以很快上手了</p>
<p>针对以上逻辑概念，MDaemon分别实现了如下子模块</p>
<p>SMTP Server，SMTP协议的实现（MTA、MDA），SMTP是服务器与服务器之间交换邮件的主要协议，但也不是邮件系统的全部，切记</p>
<p>POP Server，POP3协议的实现（MUA），和webmail一样，pop也是收发邮件的方式一种，安装了此模块你就可以使用foxmail, outlook等客户端通过pop3协议与服务器通讯，最终达到本地收发邮件的目的</p>
<p>IMAP Server（MUA），IMAP协议的实现，供webmail、pop3读取邮件服务器内容的接口系统，安装了此模块即可通过IMAP服务提供给pop3服务器或者任何一个webmail程序访问邮件，不仅仅限制于mdaemon自带的worldclient</p>
<p>Minger，一个本地服务器用户信息查询的服务，由finger协议演变而来，用于垃圾邮件防护及其它安全用途</p>
<p>LDAP Server，LDAP协议的实现，mdaemon支持使用LDAP来实现的帐户数据管理</p>
<p>AntiVirtus，防病毒组件，可以查杀邮件附件中含带的病毒，并在邮件中标注、隔离病毒，以保证用户安全</p>
<p>AntiSpam，防垃圾邮件组件，可以用于阻止垃圾邮件，例如贝叶斯算法自动学习，黑名单、白名单检测等一系列防垃圾邮件的功能，垃圾邮件泛滥的今天，此功能看来是越来越必不可少了，当然，这也是一把双刃剑，你可以指定一系列严格的规定来最大化防止垃圾邮件泛滥，当然，也可能因为这些严格的规定而阻扰了正常的邮件接收，到时boss看到一个重要客人的业务邮件给你维护的邮件系统标识为垃圾邮件，并在一个月后才发现这封邮件，那时，你就真是吃不了兜着走了</p>
<p>DomainPop，可以通过POP协议到指定的远程主机下载邮件后再分发给本地用户</p>
<p>MultiPop，和DomainPop类似，用户通过POP协议到指定的远程主机下载邮件，并保存在自己的邮箱中，如果你用过qq、126、163邮箱中收取其它邮箱邮件到本地这个免费服务你就不难理解这个模块的功能了</p>
<p>WebAdmin，远程配置服务器，如果你是postmaster管理员帐号登入，或者拥有weadmin权限的用户，可以通过 worldclient的入口进入webadmin，远程对邮件服务器，如邮件列表、用户等系统数据进行管理工作，如果你的邮件服务器有专人维护，但服务器又不只做邮件服务器单一用途，你就可以开放webadmin给邮件系统的维护人员通过web形式进行邮件系统维护就OK了，webadmin这时就派上用场了</p>
<p>WorldClient（MUA），Webmail，long long ago，人们收发邮件是用终端登录上服务器来看的，今天的linux依然保留这个功能，MTA接收了邮件后，放到你的home目录，你登录系统时就会有提示有未读邮件了，然后进化到了pop3，再然后就到了webmail，webmail就是查看邮件的一种方式，网页的而已，通过IMAP协议去读取用户邮箱的内容，在网页上显示，worldclient算是很有名气的客户端了，一看到mdaemon就想起worldclient，反之亦然，最难能可贵的是，worldclient还自带了HTTP服务器，紧密的集成为worldclient实现一些高级功能打下了很好的基础，例如状态监视等</p>
<p>整个安装过程是向导式的，安装完毕后会自动提示你配置主域，主域的概念就像apache, iis中的主站点一样，不过apache, iis是制定的web站点，用域名A记录解析，供用户使用浏览器找到主机并浏览主页，这里的主域是其他人通过其它邮件系统发送邮件到本地邮件系统时，通过解析域名的MX记录而到达主机，邮件服务器响应会根据请求的域名作出相应处理，当然，你可以在一台主机上配置多个域名，这样可以同时为多个站点提供邮件服务，除主域外，其它主机可以通过设置菜单中的次域子菜单进行设置， mdaemon的最高管理员（即postmaster）也会在主域配置时一并要求配置，很简单，输入用户名、密码即可，该用户同时也是postmaster用户的别名，拥有此帐号即拥有所有邮件系统的最高操作权限</p>
<p>安装完毕后，你可以立刻通过worldclient登录体验一下mdaemon，用http://localhost:3000即可访问，worldclient默认监听3000端口，如果你的主机没有提供其他web服务，你可以修改为80，这样不用加端口号即可访问</p>
<p>mdaemon默认是禁止smtp开放式转发的，除非你是经过认证的本地用户，关于SMTP交互和SMTP认证，有一个很好的办法可以让你身临其境，在windows下cmd界面，输入telnet 127.0.0.1 25，在看到提示后，先跟SMTP服务器说你好，输入EHLO xxx，xxx可以随便，正式的交互中，xxx往往是可反向域名解析的域名，在收到服务器回应后即可请求验证身份，输入AUTH LOGIN，回车，服务器响应后再输入经过base64编码后的用户名和密码，登录成功后，你就可以要求服务器转发你的邮件了，RCPT命令即指定收件人的地址，SMTP服务器在检测收件人地址不是本地帐户后，会帮你把邮件发出去的！</p>
<p>mdaemon的队列管理也是非常直观和智能化的，主操作界面的大窗口即可一目了然，有本地、远程、重试、坏队列几种之分，具体稍微看看就明白了</p>
<p>以上介绍的都是mdaemon的基础功能，还有很多高级功能这里就不一一说明了，不然mdaemon的说明书就白写了，最后，如果你是远程安装mdaemon，建议你不要用windows自带的远程桌面来操作远程机器，pcanywhere我没试过，我用的netop，一切OK，因为有些安装界面你用远程桌面是看不到的，会让你误以为是操作失败，实际却并不是，只是你看不到而已，另外，装mdaemon就别再装McAfee了，具体原因我没有追究下去，只是装了McAfee后smtp无法收发，具体网上已经说得很多了，可以搜索看看，最后，提醒一下，不管任何邮件系统，他们无非都是在做一件事情，就是在各种协议的基础上实现了某些功能而已，随着你对协议的了解加深，邮件系统的使用就只是熟练问题了，故，学习的过程一定是由协议到软件，而千万不要是软件到协议，mdaemon做为一款专业的邮件系统，对于企业级邮件应用和其它非运营商的使用者来说，都是不错的选择</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lj1984.com/2007/12/12/mdaemond-install/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
