<?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>Java堂 &#187; php</title>
	<atom:link href="http://www.javatang.com/archives/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.javatang.com</link>
	<description>Java Tang</description>
	<lastBuildDate>Thu, 08 Dec 2011 08:29:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>两个PHP的Warning及解决方法</title>
		<link>http://www.javatang.com/archives/2007/11/11/5611239.html</link>
		<comments>http://www.javatang.com/archives/2007/11/11/5611239.html#comments</comments>
		<pubDate>Sun, 11 Nov 2007 17:56:11 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.javatang.com/archives/2007/11/11/5611239.html</guid>
		<description><![CDATA[1. Cannot modify header information PHP Warning: Cannot modify header information &#8211; headers already sent by (output started at yourfiles) 这是因为设置的头文件信息溢出造成的。解决方法：将output_buffering 设为 on 就可以了 2. output handler &#8216;ob_gzhandler&#8217; conflicts with &#8216;zlib output compression&#8217; PHP Warning: ob_start() [ref.outcontrol]: output handler &#8216;ob_gzhandler&#8217; conflicts with &#8216;zlib output compression&#8217; in yourfiles 这是因为PHP中Zlib模块设置错误造成的，将zlib.output_compression这一行注释掉就可以了。这里需要指出的是PHP5自带GZIP模块的，不需要另外加载。 参考资料： 解决Warning: Cannot modify header information &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>1. <strong>Cannot modify header information</strong></p>
<blockquote><p>PHP Warning:  Cannot modify header information &#8211; headers already sent by (output started at <em>yourfiles</em>)</p></blockquote>
<p>这是因为设置的头文件信息溢出造成的。解决方法：将output_buffering 设为 on 就可以了</p>
<p>2. <strong>output handler &#8216;ob_gzhandler&#8217; conflicts with &#8216;zlib output compression&#8217;</strong></p>
<blockquote><p>PHP Warning:  ob_start() [<a href='ref.outcontrol'>ref.outcontrol</a>]: output handler &#8216;ob_gzhandler&#8217; conflicts with &#8216;zlib output compression&#8217; in <em>yourfiles</em></p></blockquote>
<p>这是因为PHP中Zlib模块设置错误造成的，将zlib.output_compression这一行注释掉就可以了。这里需要指出的是PHP5自带GZIP模块的，不需要另外加载。</p>
<p>参考资料：<br />
<a href="http://bbs.920546.com/read.php?tid=22774" target="_blank">解决Warning: Cannot modify header information &#8211; headers already sent by &#8230;&#8230;</a><br />
<a href="http://www.discuz.net/thread-623178-1-1.html" target="_blank">启用页面 Gzip 压缩后发生错误，请指点</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2010/12/01/2805477.html" rel="bookmark" class="crp_title">Apache2.x中设置gzip</a></li><li><a href="http://www.javatang.com/archives/2006/03/13/49104.html" rel="bookmark" class="crp_title">修复WordPress进入后台缓慢的问题</a></li><li><a href="http://www.javatang.com/archives/2006/10/17/495674.html" rel="bookmark" class="crp_title">迟到的报道－ SQLServer2005 JDBC v1.1正式版发布</a></li><li><a href="http://www.javatang.com/archives/2007/06/10/3354167.html" rel="bookmark" class="crp_title">从PHP4升级到PHP5</a></li><li><a href="http://www.javatang.com/archives/2007/10/30/2016233.html" rel="bookmark" class="crp_title">C++基础之字符串处理函数</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/11/11/5611239.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache中显示PHP源代码的原因</title>
		<link>http://www.javatang.com/archives/2007/10/05/5331208.html</link>
		<comments>http://www.javatang.com/archives/2007/10/05/5331208.html#comments</comments>
		<pubDate>Fri, 05 Oct 2007 02:53:31 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web&Server]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[通常来说如果Apache显示PHP源代码的主要原因是因为没有正确配置好PHP加载模块，最多的错误就是加载的php5_module文件位置错误，通常这种错误会导致Apache无法正常启动；另外最容易犯的就是没有增加php的文件头类型： AddType application/x-httpd-php .php .php3 但是今天我确遇到一件非常奇怪的事情，上面说的两种情况都不存在但是依然显示php源代码。后来经过长时间的排查终于发现误将放置在 VirtualHost 标签内的 php_flag engine off 放到了外面，这种情况下使得针对某个站点不执行php解析的配置被设置为了全局配置了，估计这种失误比较少见，故写出来共享。 Related Posts:Apache整合Tomcat之后的优化使用DWR出现“例外被抛出且未被接住”错误的原因和解决办法Resin 3.0.x 经验总结Apache+Resin泛域名的设置Apache2.x中设置gzip]]></description>
			<content:encoded><![CDATA[<p>通常来说如果Apache显示PHP源代码的主要原因是因为没有正确配置好PHP加载模块，最多的错误就是加载的php5_module文件位置错误，通常这种错误会导致Apache无法正常启动；另外最容易犯的就是没有增加php的文件头类型：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">AddType application/x-httpd-php .php .php3</li></ol></div>
<p>但是今天我确遇到一件非常奇怪的事情，上面说的两种情况都不存在但是依然显示php源代码。后来经过长时间的排查终于发现误将放置在 VirtualHost 标签内的</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">php_flag engine off</li></ol></div>
<p>放到了外面，这种情况下使得针对某个站点不执行php解析的配置被设置为了全局配置了，估计这种失误比较少见，故写出来共享。</p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2006/04/24/400519.html" rel="bookmark" class="crp_title">Apache整合Tomcat之后的优化</a></li><li><a href="http://www.javatang.com/archives/2008/07/10/1954272.html" rel="bookmark" class="crp_title">使用DWR出现“例外被抛出且未被接住”错误的原因和解决办法</a></li><li><a href="http://www.javatang.com/archives/2006/08/21/010658.html" rel="bookmark" class="crp_title">Resin 3.0.x 经验总结</a></li><li><a href="http://www.javatang.com/archives/2008/03/18/2532264.html" rel="bookmark" class="crp_title">Apache+Resin泛域名的设置</a></li><li><a href="http://www.javatang.com/archives/2010/12/01/2805477.html" rel="bookmark" class="crp_title">Apache2.x中设置gzip</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/10/05/5331208.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpMyAdmin初次安装拒绝登录的问题及解决方法</title>
		<link>http://www.javatang.com/archives/2007/09/11/4535187.html</link>
		<comments>http://www.javatang.com/archives/2007/09/11/4535187.html#comments</comments>
		<pubDate>Tue, 11 Sep 2007 14:45:35 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web&Server]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpMyAdmin]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[今天安装phpMyAdmin 2.10的时候修改认证方式为cookie之后进入程序首页登录的时候一直提示访问被拒绝，真的是奇怪了。后来从网上查了一下原来是需要清空一下浏览器缓存。 参考资料：hpMyAdmin 2.10.2 配置 Related Posts:Eclipse3.1中lomboz3.1的配置和开发Borland Optimizeit Suite 经典强大的测试工具MS SQL Server 中事务日志变大的处理Apache2 服务因 1 (0×1) 服务性错误而停止 的问题JDBC优化技巧 &#8211; Performance Tips for the Data Tier (JDBC)]]></description>
			<content:encoded><![CDATA[<p>今天安装phpMyAdmin  2.10的时候修改认证方式为cookie之后进入程序首页登录的时候一直提示访问被拒绝，真的是奇怪了。后来从网上查了一下原来是需要清空一下浏览器缓存。</p>
<p>参考资料：<a href="http://blog.csdn.net/gggxin/archive/2007/06/28/1669936.aspx" target="_blank">hpMyAdmin 2.10.2 配置</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2006/03/12/11063.html" rel="bookmark" class="crp_title">Eclipse3.1中lomboz3.1的配置和开发</a></li><li><a href="http://www.javatang.com/archives/2006/10/10/160171.html" rel="bookmark" class="crp_title">Borland Optimizeit Suite 经典强大的测试工具</a></li><li><a href="http://www.javatang.com/archives/2006/08/21/444857.html" rel="bookmark" class="crp_title">MS SQL Server 中事务日志变大的处理</a></li><li><a href="http://www.javatang.com/archives/2007/07/23/5805183.html" rel="bookmark" class="crp_title">Apache2 服务因 1 (0×1) 服务性错误而停止 的问题</a></li><li><a href="http://www.javatang.com/archives/2006/05/06/410929.html" rel="bookmark" class="crp_title">JDBC优化技巧 &#8211; Performance Tips for the Data Tier (JDBC)</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/09/11/4535187.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP中出现“Unable to load dynamic library”问题的解决方法</title>
		<link>http://www.javatang.com/archives/2007/07/04/1548182.html</link>
		<comments>http://www.javatang.com/archives/2007/07/04/1548182.html#comments</comments>
		<pubDate>Tue, 03 Jul 2007 19:15:48 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[今天把一个客户的服务器上面的PHP4升级到PHP5，根据前几天写的从PHP4升级到PHP5的步骤进行升级之后，总是在错误的日志文件中出现如下提示： startup: Unable to load dynamic library : PHP5\ext\php_mysql.dll 可是明明将extension_dir设置正确了还是提示无法找到dll文件。后来在CSDN上面找到一篇相关的文章，大体意思是php扩展目录中的模块需要依赖于一些基础的dll文件，如果系统没有找到这些基础的dll文件的话也会是扩展模块产生错误。解决的方法有两种，一种是拷贝这些dll文件到system32目录下面，另外一种方法就是将这些dll的目录设置到环境变量%PATH%中去。PHP5的话只要设置其安装目录就可以了。 但是问题是我按照上面的设置还是出现上面的提示，真的是很奇怪。后来我尝试将libmysql.dll文件拷贝到system32目录下面的时候出现是否覆盖文件的提示，这个时候我才恍然大悟，原来php4中的dll目录下面的文件都被拷贝到system32目录下面而没有被删除，所以php5误将这些文件当作基础文件了。于是使用如下的批处理命令将php4留在系统中的文件一一删除即解决了问题： @echo off echo remove php4 &#160; echo remove php.ini and php4ts.dll del %SystemRoot%\php.ini del %SystemRoot%\system32\php4ts.dll &#160; echo remove dlls from system32... del %SystemRoot%\system32\expat.dll del %SystemRoot%\system32\FDFTK.DLL del %SystemRoot%\system32\fribidi.dll del %SystemRoot%\system32\gds32.dll del %SystemRoot%\system32\iconv.dll del %SystemRoot%\system32\libeay32.dll del %SystemRoot%\system32\libmhash.dll del %SystemRoot%\system32\libmysql.dll del %SystemRoot%\system32\mSQL.dll del %SystemRoot%\system32\ntwdblib.dll del %SystemRoot%\system32\sablot.dll del [...]]]></description>
			<content:encoded><![CDATA[<p>今天把一个客户的服务器上面的PHP4升级到PHP5，根据前几天写的<a href="http://www.javatang.com/archives/2007/06/10/3354167.html">从PHP4升级到PHP5</a>的步骤进行升级之后，总是在错误的日志文件中出现如下提示：</p>
<blockquote><p>startup: Unable to load dynamic library : PHP5\ext\php_mysql.dll</p></blockquote>
<p>可是明明将extension_dir设置正确了还是提示无法找到dll文件。后来在CSDN上面找到一篇相关的文章，大体意思是php扩展目录中的模块需要依赖于一些基础的dll文件，如果系统没有找到这些基础的dll文件的话也会是扩展模块产生错误。解决的方法有两种，一种是拷贝这些dll文件到system32目录下面，另外一种方法就是将这些dll的目录设置到环境变量%PATH%中去。<del dateTime="2007-09-19T16:41:42+00:00">PHP5的话只要设置其安装目录就可以了。</del></p>
<p>但是问题是我按照上面的设置还是出现上面的提示，真的是很奇怪。后来我尝试将libmysql.dll文件拷贝到system32目录下面的时候出现是否覆盖文件的提示，这个时候我才恍然大悟，原来php4中的dll目录下面的文件都被拷贝到system32目录下面而没有被删除，所以php5误将这些文件当作基础文件了。于是使用如下的批处理命令将php4留在系统中的文件一一删除即解决了问题：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">@echo off</li>
<li>echo remove php4</li>
<li>&nbsp;</li>
<li>echo remove php.ini and php4ts.dll</li>
<li>del %SystemRoot%\php.ini</li>
<li>del %SystemRoot%\system32\php4ts.dll</li>
<li>&nbsp;</li>
<li>echo remove dlls from system32...</li>
<li>del %SystemRoot%\system32\expat.dll</li>
<li>del %SystemRoot%\system32\FDFTK.DLL</li>
<li>del %SystemRoot%\system32\fribidi.dll</li>
<li>del %SystemRoot%\system32\gds32.dll</li>
<li>del %SystemRoot%\system32\iconv.dll</li>
<li>del %SystemRoot%\system32\libeay32.dll</li>
<li>del %SystemRoot%\system32\libmhash.dll</li>
<li>del %SystemRoot%\system32\libmysql.dll</li>
<li>del %SystemRoot%\system32\mSQL.dll</li>
<li>del %SystemRoot%\system32\ntwdblib.dll</li>
<li>del %SystemRoot%\system32\sablot.dll</li>
<li>del %SystemRoot%\system32\ssleay32.dll</li>
<li>del %SystemRoot%\system32\Yaz.dll</li>
<li>&nbsp;</li>
<li>echo done!</li></ol></div>
<p>这样说的话php5对于查找这些基础dll文件的顺序应该跟查找php.ini文件的顺序（<a href="http://www.javatang.com/archives/2007/06/10/3354167.html">详细见从PHP4升级到PHP5文章中的常见问题3</a>）相反，或者是无论如何首先查看system32目录下面是否含有这些dll文件，如果存在的话就不在查找了。</p>
<p><strong>增加内容(2007.9.20): </strong><br />
今天将PHP5.2.3升级为5.2.4之后依然出现上述的问题(系统：win2k server)，但是5.2.3版本使用的很好。后来根据参考资料所说的两种方法（一种是拷贝这些dll文件到system32目录下面，另外一种方法就是将这些dll的目录设置到环境变量%PATH%中去）中的后者将php5的安装目录添加到环境变量%PATH%中之后<u>重新启动下</u>就OK了。但是同样的版本我在本机(系统: winxp sp2)只要在Apache设置PHPIniDir为php5安装目录就可以了，并没有设置环境变量，不知道什么原因。</p>
<p>参考资料：<br />
<a target="_blank" href="http://blog.csdn.net/felio/archive/2005/06/07/389772.aspx">如何解决PHP startup: Unable to load dynamic library的错误</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2010/08/21/0946448.html" rel="bookmark" class="crp_title">解决Firefox及Firebug内存泄漏的问题</a></li><li><a href="http://www.javatang.com/archives/2007/07/05/1152186.html" rel="bookmark" class="crp_title">WinWebMail配置总结</a></li><li><a href="http://www.javatang.com/archives/2007/10/05/5437207.html" rel="bookmark" class="crp_title">小心翼翼地使用IIS</a></li><li><a href="http://www.javatang.com/archives/2009/12/30/3926321.html" rel="bookmark" class="crp_title">Windows下手动安装JRE和Tomcat出现的错误</a></li><li><a href="http://www.javatang.com/archives/2007/06/10/3354167.html" rel="bookmark" class="crp_title">从PHP4升级到PHP5</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/07/04/1548182.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>加速你的PHP程序</title>
		<link>http://www.javatang.com/archives/2007/06/21/2626179.html</link>
		<comments>http://www.javatang.com/archives/2007/06/21/2626179.html#comments</comments>
		<pubDate>Thu, 21 Jun 2007 14:26:26 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[eAccelerator]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[以前一直在用MMCache来做PHP的缓存，到今天才知道原MMCache的作者已经就职于Zend公司，现在重新开发了一个名为eAccelerator的项目，可以说是MMCache的“最新升级版本”了，呵呵 下面说一下安装的过程： 1. 在官方下载最新的版本，因为官方提供的都是源文件，所以必须使用VC++进行编译。如果你没有安装VS也没关系，可以到SiteBuddy下载编译好的dll文件，一定要看好对应的PHP版本。 2. 将dll文件拷贝到php的ext目录下面。 3. 最后修改一下php.ini文件，增加对eAccelerator的配置： ; 增加对eAccelerator的引用 extension=eAccelerator.dll &#160; [Eaccelerator] eaccelerator.shm_size=&#34;0&#34; ; 保存Cache的文件目录，需要手动创建 eaccelerator.cache_dir = &#34;c:\temp\eaccelerator&#34; ; 是否启用 eaccelerator.enable=&#34;1&#34; ;是否优化 eaccelerator.optimizer=&#34;1&#34; eaccelerator.check_mtime=&#34;1&#34; eaccelerator.debug=&#34;0&#34; eaccelerator.filter=&#34;&#34; eaccelerator.shm_max=&#34;0&#34; eaccelerator.shm_ttl=&#34;0&#34; eaccelerator.shm_prune_period=&#34;0&#34; eaccelerator.shm_only=&#34;0&#34; ; 是否压缩 eaccelerator.compress=&#34;1&#34; ; 压缩的级别 eaccelerator.compress_level=&#34;9&#34; 这样重启下Apache就可以了。至于Linux下的安装可以参见下面的参考资料。 参考资料： eAccelerator安装 Related Posts:Zend Optimizer 出错造成站点无法访问Ubuntu下面安装Macbuntu及安装之后需要修改的几个问题Apache2.x中设置gzipApache+Resin泛域名的设置从PHP4升级到PHP5]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.javatang.com/wp-content/eaccelerator.png" /></p>
<p>以前一直在用<a target="_blank" href="http://sourceforge.net/projects/turck-mmcache/">MMCache</a>来做PHP的缓存，到今天才知道原MMCache的作者已经就职于Zend公司，现在重新开发了一个名为<a target="_blank" href="http://eaccelerator.net/">eAccelerator</a>的项目，可以说是MMCache的“最新升级版本”了，呵呵</p>
<p>下面说一下安装的过程：</p>
<p>1. 在<a target="_blank" href="http://eaccelerator.net/">官方</a>下载最新的版本，因为官方提供的都是源文件，所以必须使用VC++进行编译。如果你没有安装VS也没关系，可以到<a target="_blank" href="http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds">SiteBuddy</a>下载编译好的dll文件，一定要看好对应的PHP版本。</p>
<p>2. 将dll文件拷贝到php的ext目录下面。</p>
<p>3. 最后修改一下php.ini文件，增加对eAccelerator的配置：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">; 增加对eAccelerator的引用 </li>
<li>extension=eAccelerator.dll </li>
<li>&nbsp; </li>
<li>[Eaccelerator] </li>
<li>eaccelerator.shm_size=&quot;0&quot; </li>
<li>; 保存Cache的文件目录，需要手动创建 </li>
<li>eaccelerator.cache_dir = &quot;c:\temp\eaccelerator&quot; </li>
<li>; 是否启用 </li>
<li>eaccelerator.enable=&quot;1&quot; </li>
<li>;是否优化 </li>
<li>eaccelerator.optimizer=&quot;1&quot; </li>
<li>eaccelerator.check_mtime=&quot;1&quot; </li>
<li>eaccelerator.debug=&quot;0&quot; </li>
<li>eaccelerator.filter=&quot;&quot; </li>
<li>eaccelerator.shm_max=&quot;0&quot; </li>
<li>eaccelerator.shm_ttl=&quot;0&quot; </li>
<li>eaccelerator.shm_prune_period=&quot;0&quot; </li>
<li>eaccelerator.shm_only=&quot;0&quot; </li>
<li>; 是否压缩 </li>
<li>eaccelerator.compress=&quot;1&quot; </li>
<li>; 压缩的级别 </li>
<li>eaccelerator.compress_level=&quot;9&quot;</li></ol></div>
<p>这样重启下Apache就可以了。至于Linux下的安装可以参见下面的参考资料。</p>
<p>参考资料：<br />
<a target="_blank" href="http://hi.baidu.com/hxinze/blog/item/9a087e0f763f2d2a6159f368.html">eAccelerator安装</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2008/02/28/1713261.html" rel="bookmark" class="crp_title">Zend Optimizer 出错造成站点无法访问</a></li><li><a href="http://www.javatang.com/archives/2010/11/27/1657519.html" rel="bookmark" class="crp_title">Ubuntu下面安装Macbuntu及安装之后需要修改的几个问题</a></li><li><a href="http://www.javatang.com/archives/2010/12/01/2805477.html" rel="bookmark" class="crp_title">Apache2.x中设置gzip</a></li><li><a href="http://www.javatang.com/archives/2008/03/18/2532264.html" rel="bookmark" class="crp_title">Apache+Resin泛域名的设置</a></li><li><a href="http://www.javatang.com/archives/2007/06/10/3354167.html" rel="bookmark" class="crp_title">从PHP4升级到PHP5</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/06/21/2626179.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>windows版本的php5.2.3的一个bug</title>
		<link>http://www.javatang.com/archives/2007/06/20/4711201.html</link>
		<comments>http://www.javatang.com/archives/2007/06/20/4711201.html#comments</comments>
		<pubDate>Wed, 20 Jun 2007 14:47:11 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[PHP5.2.3-win32这个版本有个非常严重的bug，那就是最大内存设置成1024M，但是PHP实际返回的只有2M，经常返回下面的错误： PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes) PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes) PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes) PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes) PHP Fatal [...]]]></description>
			<content:encoded><![CDATA[<p class="storycontent">PHP5.2.3-win32这个版本有个非常严重的bug，那就是最大内存设置成1024M，但是PHP实际返回的只有2M，经常返回下面的错误：</p>
<blockquote><p>PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes)<br />
PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes)<br />
PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes)<br />
PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 393216 bytes)<br />
PHP Fatal error: Out of memory (allocated 786432) (tried to allocate 393216 bytes)<br />
PHP Fatal error: Out of memory (allocated 1310720) (tried to allocate 393216 bytes)</p></blockquote>
<p>这是<a target="_blank" href="http://bugs.php.net/bug.php?id=41615&amp;thanks=6">官方的bug报告</a>，该bug只出现于windows版本，linux版本没有这个bug。看来只能等下一次升级的时候修复了。</p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2007/06/10/3354167.html" rel="bookmark" class="crp_title">从PHP4升级到PHP5</a></li><li><a href="http://www.javatang.com/archives/2006/09/23/542969.html" rel="bookmark" class="crp_title">PHPWind中出现 “Update Error: INSERT LOW_PRIORITY INTO pw_tmsgs ”问题的解决</a></li><li><a href="http://www.javatang.com/archives/2007/10/05/5437207.html" rel="bookmark" class="crp_title">小心翼翼地使用IIS</a></li><li><a href="http://www.javatang.com/archives/2007/11/01/4346235.html" rel="bookmark" class="crp_title">Visual C++ 6.0中error LNK2001和error C2065问题的解决方法</a></li><li><a href="http://www.javatang.com/archives/2007/06/11/5538168.html" rel="bookmark" class="crp_title">FAR编译chm文件中断原因及其解决方法</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/06/20/4711201.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Framework极好的起步教程</title>
		<link>http://www.javatang.com/archives/2007/06/12/5334171.html</link>
		<comments>http://www.javatang.com/archives/2007/06/12/5334171.html#comments</comments>
		<pubDate>Tue, 12 Jun 2007 14:53:34 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[以前介绍PHP框架的时候曾经提到过Zend Framework，最后提到学习参考的一些资料。其中IBM developerworks 上面的系列文章虽然不错，但是基于0.4版本的，同现在最新的1.0版本有很大的出入，变化太多了。 今天偶然间在网上发现了两篇Rob Allen写的入门文章：Getting Started with the Zend Framework和Getting Started with Zend_Auth。前者是Zend入门教程，后者是介绍Zend_Auth，文章是基于Zend 0.9x版本的而且写的非常的棒。 值得一提的是前面的教程被Jason Qi翻译成了简体中文，而且翻译的还是非常不错的。目前Jason负责翻译Zend Framework 官方文档中的Zend_Acl，Zend_Auth，Zend_Validate 三部分的工作。大家可以到他的博客上去下载。 Related Posts:PHP框架大展台Zend Optimizer 出错造成站点无法访问从PHP4升级到PHP5优秀的JavaScript类库 &#8211; RicoEclipse3.2.1中使用CDT经常CPU100%问题的解决方法]]></description>
			<content:encoded><![CDATA[<p class="storycontent">以前介绍<a target="_blank" href="http://www.javatang.com/archives/2007/03/20/0534141.html">PHP框架</a>的时候曾经提到过<a target="_blank" href="http://framework.zend.com/">Zend Framework</a>，最后提到学习参考的一些资料。其中IBM developerworks 上面的系列文章虽然不错，但是基于0.4版本的，同现在最新的1.0版本有很大的出入，变化太多了。</p>
<p>今天偶然间在网上发现了两篇<a target="_blank" href="http://akrabat.com/">Rob Allen</a>写的入门文章：<a target="_blank" href="http://akrabat.com/zend-framework-tutorial/">Getting Started with the Zend Framework</a>和<a target="_blank" href="http://akrabat.com/zend-auth-tutorial/">Getting Started with Zend_Auth</a>。前者是Zend入门教程，后者是介绍Zend_Auth，文章是基于Zend 0.9x版本的而且写的非常的棒。</p>
<p>值得一提的是前面的教程被<a target="_blank" href="http://zft.backupdiy.com/">Jason Qi</a>翻译成了简体中文，而且翻译的还是非常不错的。目前Jason<a target="_blank" href="http://zft.backupdiy.com/translation/">负责翻译Zend Framework 官方文档中的Zend_Acl，Zend_Auth，Zend_Validate 三部分的工作</a>。大家可以到他的博客上去<a target="_blank" href="http://zft.backupdiy.com/download/">下载</a>。</p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2007/03/20/0534141.html" rel="bookmark" class="crp_title">PHP框架大展台</a></li><li><a href="http://www.javatang.com/archives/2008/02/28/1713261.html" rel="bookmark" class="crp_title">Zend Optimizer 出错造成站点无法访问</a></li><li><a href="http://www.javatang.com/archives/2007/06/10/3354167.html" rel="bookmark" class="crp_title">从PHP4升级到PHP5</a></li><li><a href="http://www.javatang.com/archives/2006/03/16/440510.html" rel="bookmark" class="crp_title">优秀的JavaScript类库 &#8211; Rico</a></li><li><a href="http://www.javatang.com/archives/2007/01/28/202192.html" rel="bookmark" class="crp_title">Eclipse3.2.1中使用CDT经常CPU100%问题的解决方法</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/06/12/5334171.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>从PHP4升级到PHP5</title>
		<link>http://www.javatang.com/archives/2007/06/10/3354167.html</link>
		<comments>http://www.javatang.com/archives/2007/06/10/3354167.html#comments</comments>
		<pubDate>Sun, 10 Jun 2007 01:33:54 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[apche]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[因为有些项目需要使用Zend Framework，需要将原来使用的PHP4升级到PHP5，下面对这次升级总结一下。 安装过程 我的安装环境是：windows 2000 server，Apache2，PHP5.2.3(php-5.2.3-Win32.zip)。 1) 解压缩zip包，将其中的php.ini-recommended改名为php.ini；对php.ini文件进行一些修改 ; 打开这个项使得一些使用tag模板的程序如discuz、dedecms等正常运行 short_open_tag = On ; 修改php扩展组件的路径 extension_dir = &#34;php安装目录\ext&#34; ; 增加对mysql的支持，将下面这行文字前面的分号删除即可 extension=php_mysql.dll ; 设置session保存的目录，这项默认是被注释掉的 session.save_path = &#34;C:/temp&#34; 2) 在Apache中进行设置，打开httpd.conf，在文件中添加如下设置： # 加载php5的apache模块 LoadModule php5_module &#34;php5的安装目录\php5apache2.dll&#34; # 增加头文件 AddType application/x-httpd-php .php .php3 # 设置php.ini所在的文件目录 PHPIniDir &#34;php安装目录&#34; 然后重启apache就可以了。 最后说明一句：如果在Apache配置文件中没有通过PHPIniDir “php安装目录”设置了PHP5的根目录的话需要将PHP5的安装目录添加到%PATH%的环境变量中。 一些常见的问题 1) 运行网站提示不能连接mysql数据库 这是因为默认情况下php5不像php4那样至此MySQL的，所以需要手动将 extension=php_mysql.dll 打开使其支持MySQL。 2) 运行某些包含session操作的程序时出现下面的错误提示： Warning: [...]]]></description>
			<content:encoded><![CDATA[<p>因为有些项目需要使用<a target="_blank" href="http://framework.zend.com/">Zend Framework</a>，需要将原来使用的PHP4升级到PHP5，下面对这次升级总结一下。</p>
<p><strong>安装过程</strong></p>
<p>我的安装环境是：windows 2000 server，Apache2，PHP5.2.3(php-5.2.3-Win32.zip)。<br />
1) 解压缩zip包，将其中的php.ini-recommended改名为php.ini；对php.ini文件进行一些修改</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">; 打开这个项使得一些使用tag模板的程序如discuz、dedecms等正常运行 </li>
<li>short_open_tag = On </li>
<li>; 修改php扩展组件的路径 </li>
<li>extension_dir = &quot;php安装目录\ext&quot; </li>
<li>; 增加对mysql的支持，将下面这行文字前面的分号删除即可 </li>
<li>extension=php_mysql.dll </li>
<li>; 设置session保存的目录，这项默认是被注释掉的 </li>
<li>session.save_path = &quot;C:/temp&quot;</li></ol></div>
<p>2) 在Apache中进行设置，打开httpd.conf，在文件中添加如下设置：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"># 加载php5的apache模块 </li>
<li>LoadModule php5_module &quot;php5的安装目录\php5apache2.dll&quot; </li>
<li># 增加头文件 </li>
<li>AddType application/x-httpd-php .php .php3 </li>
<li># 设置php.ini所在的文件目录 </li>
<li>PHPIniDir &quot;php安装目录&quot;</li></ol></div>
<p>然后重启apache就可以了。</p>
<p>最后说明一句：如果在Apache配置文件中没有通过PHPIniDir “php安装目录”设置了PHP5的根目录的话需要将PHP5的安装目录添加到%PATH%的环境变量中。</p>
<p><strong>一些常见的问题</strong></p>
<p>1) <em>运行网站提示不能连接mysql数据库</em><br />
这是因为默认情况下php5不像php4那样至此MySQL的，所以需要手动将 extension=php_mysql.dll 打开使其支持MySQL。</p>
<p>2) <em>运行某些包含session操作的程序时出现下面的错误提示：</em></p>
<blockquote><p>Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect. The script whose uid is 2023 is not allowed to access /var/tmp/ owned by uid 0 in /configs/config.inc.php on line 9</p>
<p>Fatal error: session_start() [<a href="http://www.javatang.com/page/4/function.session-start">function.session-start</a>]: Failed to initialize storage module: files (path: ) in /configs/config.inc.php on line 9</p></blockquote>
<p>这是php5一个安全模式的bug，默认session的save_path是系统的临时目录，这样会要校验权限。在php.ini文件里，显式指定session的save_path(比如 c:/temp)然后重启web服务就解决了。</p>
<p>3) <em>Apache 设置的时候 PHPIniDir 有什么作用？</em><br />
与php4搜索php.ini是在%SystemRoot%下不同的是，PHP5按照以下顺序依次查找PHP.ini：</p>
<blockquote><p>* PHPIniDir (Apache 2 module only)<br />
* 注册表键值：HKEY_LOCAL_MACHINE—SOFTWARE—PHPIniFilePath<br />
* 环境变量:%PHPRC%<br />
* PHP5的目录 (for CLI), 或者web服务器目录(for SAPI modules)<br />
* Windows目录(C:\windows or C:\winnt)</p></blockquote>
<p>所以如果是Apache + PHP5的话可以使用 PHPIniDir 指定php5的配置文件php.ini的路径。</p>
<p>4) <em>安装 PHP5 之后打开 Discuz!或DedeCMS 的时候图片和论坛的信息都无法正常显示</em><br />
解决的方法是打开php.ini，查找short_open_tag，将其设置为short_open_tag= on。对于Discuz!论坛如果还是显示有问题的话可以将forumdata/cache和forumdata/templates下面的文件删除然程序重新创建下缓存即可。</p>
<p>5) <em>使用网上发布的“汉字验证码”程序的时候只显示背景不显示文字或显示类似“Invalid font filename in xxx.php on line 57”的错误信息</em><br />
与PHP4不同的是PHP5在安全模式下不能访问系统路径，而网上发布的验证码程序中的字体只有一个文件名而不包含路径，如果指定完整路径(比如：C:\Winodws\Fonts\simhei.ttf)的话则会提示没有访问的权限。估计这个应该是php默认配置权限所造成的，我目前解决的方法就是将字体文件从系统目录直接拷贝到程序目录下面。我估计应该通过设置一下php.ini文件可以实现之前php4的效果，但是目前我还没有找到设置的方法。</p>
<p>6) 文件无法上传？<br />
上传文件的时候出现下面的提示：</p>
<blockquote><p>File upload error &#8211; unable to create a temporary file in Unknown on line 0</p></blockquote>
<p>这是因为默认的php.ini中没有设置上传的临时文件，默认为系统的临时文件地址。如果没有权限去读系统的临时文件目录的话就会产生上述错误。解决的方法就是去掉 upload_tmp_dir 前面的分号然后设置临时文件目录。</p>
<p>参考资料：<br />
<a target="_blank" href="http://blog.donews.com/cities/archive/2006/04/30/851686.aspx">安装使用PHP5和MySQL5的一点心得</a><br />
<a target="_blank" href="http://blog.csdn.net/songqzs/archive/2006/05/16/740659.aspx">apache2和php5整合并支持mysql5</a><br />
<a target="_blank" href="http://16hot.blog.isyi.com/post/1/687">PHP 5.2.2 安全模式session_start权限问题的解决办法</a><br />
<a target="_blank" href="http://www.discuz.net/viewthread.php?tid=221140&amp;extra=page%3D1">Discuz!团队倾力整理–常见问题合集合</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2008/01/22/0615259.html" rel="bookmark" class="crp_title">解决Apache出现的CPU高占用率的问题</a></li><li><a href="http://www.javatang.com/archives/2007/07/04/1548182.html" rel="bookmark" class="crp_title">PHP中出现“Unable to load dynamic library”问题的解决方法</a></li><li><a href="http://www.javatang.com/archives/2007/09/29/2003203.html" rel="bookmark" class="crp_title">环境变量中的Os2LibPath是什么？</a></li><li><a href="http://www.javatang.com/archives/2006/06/18/204746.html" rel="bookmark" class="crp_title">安装SQL Server2005遇到的几个问题</a></li><li><a href="http://www.javatang.com/archives/2008/02/28/1713261.html" rel="bookmark" class="crp_title">Zend Optimizer 出错造成站点无法访问</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/06/10/3354167.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP常见问题及解答</title>
		<link>http://www.javatang.com/archives/2007/06/08/5540166.html</link>
		<comments>http://www.javatang.com/archives/2007/06/08/5540166.html#comments</comments>
		<pubDate>Thu, 07 Jun 2007 21:55:40 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[最近正在做一个PHP的项目，不过PHP算是刚接触，可以说是边学边做了。期间整理了一些常见的问题及解答，相信对其他朋友也有一些用处。 1. PHP中@有什么作用？比如@mysql_query 与 mysql_query 有什么区别呢？ @是PHP提供的错误信息屏蔽的专用符号，所以@mysql_query 与 mysql_query 的区别就是前者运行过程中不显示出现的错误，而后者显示错误。 2. require和include的区别是什么？ 二者都是包含一个文件，其中最大的区别在于require()无论如何都会包含文件，而 include() 可以有选择地包含。比如下面的例子： &#60;?php if(FALSE){ require('a.php'); } if(FALSE){ include('b.php'); } ?&#62; 虽然前面的条件不成立，但是a.php 一定会被包含，而 b.php 一定不会被包含。 3.PHP中的extract是什么作用？一般用于什么场合？ PHP手册中是这样解释的 int extract ( array var_array [, int extract_type [, string prefix]] ) 本函数用来将变量从数组中导入到当前的符号表中。接受结合数组 var_array 作为参数并将键名当作变量名，值作为变量的值。对每个键／值对都会在当前的符号表中建立变量，并受到 extract_type 和 prefix 参数的影响。 主要应用如下： // addslashes -- 使用反斜线引用字符串 // 处理POST表单，把客户端 [...]]]></description>
			<content:encoded><![CDATA[<p>最近正在做一个PHP的项目，不过PHP算是刚接触，可以说是边学边做了。期间整理了一些常见的问题及解答，相信对其他朋友也有一些用处。</p>
<p><strong>1. PHP中@有什么作用？比如@mysql_query 与 mysql_query 有什么区别呢？</strong><br />
@是PHP提供的错误信息屏蔽的专用符号，所以@mysql_query 与 mysql_query 的区别就是前者运行过程中不显示出现的错误，而后者显示错误。</p>
<p><strong>2. require和include的区别是什么？</strong><br />
二者都是包含一个文件，其中最大的区别在于require()无论如何都会包含文件，而 include() 可以有选择地包含。比如下面的例子：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">&lt;?php</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Green;">FALSE</span><span style="color: Olive;">){</span></li>
<li><span style="color: Green;">require</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">a.php</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Green;">FALSE</span><span style="color: Olive;">){</span></li>
<li><span style="color: Green;">include</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">b.php</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">?&gt;</span></li></ol></div>
<p>虽然前面的条件不成立，但是a.php 一定会被包含，而 b.php 一定不会被包含。</p>
<p><strong>3.PHP中的extract是什么作用？一般用于什么场合？</strong><br />
PHP手册中是这样解释的</p>
<blockquote><p>int extract ( array var_array [, int extract_type [, string prefix]] )</p>
<p>本函数用来将变量从数组中导入到当前的符号表中。接受结合数组 var_array 作为参数并将键名当作变量名，值作为变量的值。对每个键／值对都会在当前的符号表中建立变量，并受到 extract_type 和 prefix 参数的影响。</p></blockquote>
<p>主要应用如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">// addslashes -- 使用反斜线引用字符串</span></li>
<li><span style="color: #ffa500;">// 处理POST表单，把客户端 &lt;form method=&quot;post&quot;&gt;表单中的变量名取出来。</span></li>
<li><span style="color: Blue;">extract</span><span style="color: Olive;">(</span><span style="color: Blue;">addslashes</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_POST</span><span style="color: Olive;">))</span><span style="color: Gray;">; &lt;/</span><span style="color: Blue;">form</span><span style="color: Gray;">&gt;&lt;</span><span style="color: Blue;">form</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">method</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">post</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt;</span><span style="color: #ffa500;">// 处理GET表单，把客户端&lt;form METHOD=&quot;GET&quot;&gt;&lt;/form&gt;表单中的变量名取出来。</span></li>
<li><span style="color: Blue;">extract</span><span style="color: Olive;">(</span><span style="color: Blue;">addslashes</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_GET</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>参考资料：<br />
<a target="_blank" href="http://zhidao.baidu.com/question/12309318.html?si=1">php 中 @mysql_query 与 mysql_query 有什么区别</a><br />
<a target="_blank" href="http://www.oia.com.cn/Web/FAQ/php/256.html">require和include基本的区别是什么？</a><br />
<a target="_blank" href="http://zhidao.baidu.com/question/4124867.html">php中include和require有什么区别</a><br />
<a target="_blank" href="http://zhidao.baidu.com/question/13223227.html">PHP中的extract是什么作用？？</a></p>
</form>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2006/04/07/542415.html" rel="bookmark" class="crp_title">好词!</a></li><li><a href="http://www.javatang.com/archives/2010/09/02/4325457.html" rel="bookmark" class="crp_title">给Spring Security中的j_spring_security_check等改名</a></li><li><a href="http://www.javatang.com/archives/2007/03/04/1543107.html" rel="bookmark" class="crp_title">XP中的“安全”选项卡在哪里？</a></li><li><a href="http://www.javatang.com/archives/2010/07/08/4916413.html" rel="bookmark" class="crp_title">ExtJS中调用focus方法无效的解决方法</a></li><li><a href="http://www.javatang.com/archives/2007/12/03/1653250.html" rel="bookmark" class="crp_title">由MyEclipse内存不足谈谈JVM内存</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/06/08/5540166.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP框架大展台</title>
		<link>http://www.javatang.com/archives/2007/03/20/0534141.html</link>
		<comments>http://www.javatang.com/archives/2007/03/20/0534141.html#comments</comments>
		<pubDate>Tue, 20 Mar 2007 03:05:34 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[DynamicLanguage]]></category>
		<category><![CDATA[fleaphp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[虽然有些PHP框架出现的时间很早，但是坦白说PHP框架是借着Ruby on Rails的东风开始生机勃勃起来，仿佛一夜之间出现了如此多的框架：CakePHP、Symfony、Zend Framework、Code Igniter以及国内的FCS和FleaPHP。 框架之所以流行就是因为其开发的效率非常的高，非常适合Web开发。综合看了一下比较关注的是下面这两个框架： 1. Zend Framework 在PHP界提起Zend，我想没有几个人不知道的。由Zend公司开发的基于PHP5的这个框架非常的强大，它大量应用了PHP5中面向对象的新特征：接口、异常、抽象类、SPL等等。这些东西的应用让Zend Framework具有高度的模块化和灵活性。 Zend Framework 官方地址为：http://framework.zend.com/，并且在官方提供了非常详尽的英文版 和 中文版（未完全翻译完整）指南文档。除此之外，IBM上面名为 PHP Zend 框架 的系列文章也非常值得一读。 2. 国内的FleaPHP 值得欣喜的是国内的PHP框架也发展的很不错，其中FleaPHP就是国人自己开发的。FleaPHP框架的核心非常小，但通过灵活的配置，可以组合出各种类型的基础架构。对于简单的脚本页面，FleaPHP不需要载入MVC模式，只需 要为应用程序提供业务逻辑和数据库服务。而对于复杂的应用程序，FleaPHP可以完成从MVC模式调用、访问控制、数据验证到文件上传、图片处理等各种 各样的任务。 FleaPHP的官方网站为 http://www.fleaphp.org/，并且官方提供了非常通俗易懂的开发指南。 参考资料： 年度点评:PHP开发框架的现状和展望 值得研究的PHP主流FrameWork框架 Related Posts:Zend Framework极好的起步教程Zend Optimizer 出错造成站点无法访问从PHP4升级到PHP5优秀的JavaScript类库 &#8211; Rico怎样在SQL Server2005中删除数据库用户]]></description>
			<content:encoded><![CDATA[<p class="storycontent">虽然有些PHP框架出现的时间很早，但是坦白说PHP框架是借着Ruby on Rails的东风开始生机勃勃起来，仿佛一夜之间出现了如此多的框架：<a target="_blank" href="http://www.cakephp.org/">CakePHP</a>、<a target="_blank" href="http://www.symfony-project.com/">Symfony</a>、<a target="_blank" href="http://framework.zend.com/">Zend Framework</a>、<a target="_blank" href="http://www.codeigniter.com/">Code Igniter</a>以及国内的<a target="_blank" href="http://fcs.org.cn/">FCS</a>和<a target="_blank" href="http://www.fleaphp.org/">FleaPHP</a>。</p>
<p>框架之所以流行就是因为其开发的效率非常的高，非常适合Web开发。综合看了一下比较关注的是下面这两个框架：<br />
1. Zend Framework<br />
<img src="http://www.javatang.com/wp-content/zend_framework_logo.png" alt="zend_framework_logo.png" /><br />
在PHP界提起<a target="_blank" href="http://www.zend.com/">Zend</a>，我想没有几个人不知道的。由Zend公司开发的基于PHP5的这个框架非常的强大，它大量应用了PHP5中面向对象的新特征：接口、异常、抽象类、SPL等等。这些东西的应用让Zend Framework具有高度的模块化和灵活性。</p>
<p>Zend Framework 官方地址为：<a target="_blank" href="http://framework.zend.com/">http://framework.zend.com/</a>，并且在官方提供了非常详尽的<a target="_blank" href="http://framework.zend.com/manual">英文版</a> 和 <a target="_blank" href="http://framework.zend.com/manual/zh/index.html">中文版（未完全翻译完整）</a>指南文档。除此之外，IBM上面名为 <a target="_blank" href="http://www.ibm.com/developerworks/cn/opensource/top-projects/php-resources.html#zend">PHP Zend 框架</a> 的系列文章也非常值得一读。</p>
<p>2. 国内的FleaPHP<br />
<img src="http://www.javatang.com/wp-content/fleaphp_logo.gif" alt="fleaphp_logo.gif" /></p>
<p>值得欣喜的是国内的PHP框架也发展的很不错，其中FleaPHP就是国人自己开发的。FleaPHP框架的核心非常小，但通过灵活的配置，可以组合出各种类型的基础架构。对于简单的脚本页面，FleaPHP不需要载入MVC模式，只需 要为应用程序提供业务逻辑和数据库服务。而对于复杂的应用程序，FleaPHP可以完成从MVC模式调用、访问控制、数据验证到文件上传、图片处理等各种 各样的任务。</p>
<p>FleaPHP的官方网站为 <a target="_blank" href="http://www.fleaphp.org/">http://www.fleaphp.org/</a>，并且官方提供了非常通俗易懂的开发<a target="_blank" href="http://www.fleaphp.org/index.php?q=guide">指南</a>。</p>
<p>参考资料：<br />
<a target="_blank" href="http://www.ccw.com.cn/server/jssc/htm2006/20061226_232112.shtml">年度点评:PHP开发框架的现状和展望</a><br />
<a target="_blank" href="http://www.toplee.com/blog/archives/265.html">值得研究的PHP主流FrameWork框架</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2007/06/12/5334171.html" rel="bookmark" class="crp_title">Zend Framework极好的起步教程</a></li><li><a href="http://www.javatang.com/archives/2008/02/28/1713261.html" rel="bookmark" class="crp_title">Zend Optimizer 出错造成站点无法访问</a></li><li><a href="http://www.javatang.com/archives/2007/06/10/3354167.html" rel="bookmark" class="crp_title">从PHP4升级到PHP5</a></li><li><a href="http://www.javatang.com/archives/2006/03/16/440510.html" rel="bookmark" class="crp_title">优秀的JavaScript类库 &#8211; Rico</a></li><li><a href="http://www.javatang.com/archives/2006/08/28/402448.html" rel="bookmark" class="crp_title">怎样在SQL Server2005中删除数据库用户</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/03/20/0534141.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.javatang.com @ 2012-02-10 07:20:27 -->
