<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>哈默博客 &#187; php</title>
	<atom:link href="http://www.satwe.com/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.satwe.com</link>
	<description>心随所致，梦想为开。Follow the Dreams &#38; Heart.</description>
	<lastBuildDate>Fri, 03 Feb 2012 12:28:10 +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>试用基于Xen的VPS(1):ubuntu+nginx+php</title>
		<link>http://www.satwe.com/archives/995.html</link>
		<comments>http://www.satwe.com/archives/995.html#comments</comments>
		<pubDate>Sat, 31 Oct 2009 12:42:48 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[技术讨论]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.satwe.com/?p=995</guid>
		<description><![CDATA[跟踪vps已经很久了，但是因为需要特殊端口开服务，所以符合条件的多为Xen平台的vps。众多比较之后选择了vpslink在西雅图机房，速度还不错。 因为对系统性能要求很低，所以选择了Link-1，2.5G硬盘、64M内存、100GB流量、1个独立ip。 使用优惠码9DMM7R可以有10%的折扣，vpslink.com。当然也可以找更大折扣的优惠码，但是一般只限3个月内。 在vpslink后台安装os，选择ubuntu9.04，一分钟后系统装完了，ssh登录root。 工作1：配置web服务器 为了调试程序，支持php的web服务器还是需要的。内存太小所以抛弃了一直以来的apache，改用nginx，并且通过fast-cgi来支持php。vpslink提供了ubuntu的源镜像，速度没的说。 (1)一步到位，安装nginx和php apt-get install nginx php5-cli php5-cgi php5-mysql (2)因为需要spawn-fcgi来启动fast-cgi，所以安装lighttpd，并设置为开机不启动 apt-get install lighttpd (3)配置fast-cgi 在/etc/init.d/下建立php-cgi的服务文件，简单起见，可以直接copy nginx的来修改 cp nginx php-cgi vi php-cgi，修改对应参数 DAEMON=/usr/bin/spawn-fcgi DAEMON_OPTS=&#8221;-a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi&#8221; 修改stop时的动作为：pkill -9 php-cgi 保存，退出。 (4) 配置nginx，打开php支持 vi /etc/nginx/sites-available/default index中增加index.php，并将相关php部分注释取消，注意需要修改fastcgi_param的路径 location ~ \.php$ { fastcgi_pass   127.0.0.1:9000; fastcgi_index  index.php; fastcgi_param  SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include&#8230;]]></description>
			<content:encoded><![CDATA[<p>跟踪vps已经很久了，但是因为需要特殊端口开服务，所以符合条件的多为Xen平台的vps。众多比较之后选择了vpslink在西雅图机房，速度还不错。<br />
因为对系统性能要求很低，所以选择了Link-1，2.5G硬盘、64M内存、100GB流量、1个独立ip。<br />
使用优惠码9DMM7R可以有10%的折扣，<a href="http://vpslink.com/?ref=9DMM7R">vpslink.com</a>。当然也可以找更大折扣的优惠码，但是一般只限3个月内。<br />
在vpslink后台安装os，选择ubuntu9.04，一分钟后系统装完了，ssh登录root。<br />
<strong>工作1：配置web服务器</strong><br />
为了调试程序，支持php的web服务器还是需要的。内存太小所以抛弃了一直以来的apache，改用nginx，并且通过fast-cgi来支持php。vpslink提供了ubuntu的源镜像，速度没的说。</p>
<p>(1)一步到位，安装nginx和php</p>
<p>apt-get install nginx php5-cli php5-cgi php5-mysql</p>
<p>(2)因为需要spawn-fcgi来启动fast-cgi，所以安装lighttpd，并设置为开机不启动</p>
<p>apt-get install lighttpd</p>
<p>(3)配置fast-cgi</p>
<p>在/etc/init.d/下建立php-cgi的服务文件，简单起见，可以直接copy nginx的来修改</p>
<p>cp nginx php-cgi</p>
<p>vi php-cgi，修改对应参数</p>
<p>DAEMON=/usr/bin/spawn-fcgi<br />
DAEMON_OPTS=&#8221;-a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi&#8221;</p>
<p>修改stop时的动作为：pkill -9 php-cgi</p>
<p>保存，退出。</p>
<p>(4) 配置nginx，打开php支持</p>
<p>vi /etc/nginx/sites-available/default</p>
<p>index中增加index.php，并将相关php部分注释取消，注意需要修改fastcgi_param的路径</p>
<p>location ~ \.php$ {<br />
fastcgi_pass   127.0.0.1:9000;<br />
fastcgi_index  index.php;<br />
fastcgi_param  SCRIPT_FILENAME <strong>/var/www/nginx-default$fastcgi_script_name;</strong><br />
include /etc/nginx/fastcgi_params;<br />
}</p>
<p>(5) 启动服务</p>
<p>/etc/init.d/php-cgi start</p>
<p>/etc/init.d/nginx start</p>
<p>web服务器就配置完了。</p>
<p><strong>工作2：配置squid代理服务器</strong></p>
<p>这才是主要目的，要不也不用特意选择Xen的vps了。下回再说。</p>
<p><a href="http://www.satwe.com/archives/996.html">试用基于Xen的VPS(2):配置squid服务器</a><span id="sample-permalink"></span></p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/php" title="php" rel="tag">php</a>, <a href="http://www.satwe.com/tag/vps" title="vps" rel="tag">vps</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/995.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>记忆力不好，但是Wikipedia很好很强大</title>
		<link>http://www.satwe.com/archives/839.html</link>
		<comments>http://www.satwe.com/archives/839.html#comments</comments>
		<pubDate>Tue, 18 Nov 2008 01:12:03 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[技术讨论]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/839.html</guid>
		<description><![CDATA[换台电脑工作也还是件很麻烦的事情，特别是所有一切都得自己来装的时候。真后悔没把当初电脑全盘复制下来。。。 由于还是建造一套开发支持环境，沿着多年的习惯，自然还是要Apache,PHP,Mysql,Python&#8230;但是脑子里还是很清晰的记得，经过多次尝试之后，有一个AMP的套装用起来很惬意，但是搜索时候，发现脑袋里对它的名字一片空白。 既然记不起来就google吧，找到几个都不是目标，知道后来找到这里：Comparison of WAMPs，心想作为最伟大权威的资料库，这里面肯定有它的影子，果然找到了，它就是XAMPP，你说叫啥不好，非要出来一个X，最后还要加个P。 ps1：人有时候就是很贱，非要熬夜才有效率。 ps2：hygeen每周末要狂奔700mile去牛郎织女，可歌可泣，四个轮子也的确比两个轮子好。 本文标签: apache, mysql, php, xampp]]></description>
			<content:encoded><![CDATA[<p><em>换台电脑工作也还是件很麻烦的事情，特别是所有一切都得自己来装的时候。真后悔没把当初电脑全盘复制下来。。。</em></p>
<p>由于还是建造一套开发支持环境，沿着多年的习惯，自然还是要Apache,PHP,Mysql,Python&#8230;但是脑子里还是很清晰的记得，经过多次尝试之后，有一个AMP的套装用起来很惬意，但是搜索时候，发现脑袋里对它的名字一片空白。</p>
<p><img src="http://www.apachefriends.org/images/1240.jpg" align="right">既然记不起来就google吧，找到几个都不是目标，知道后来找到这里：<a href="en.wikipedia.org/wiki/Comparison_of_WAMPs">Comparison of WAMPs</a>，心想作为最伟大权威的资料库，这里面肯定有它的影子，果然找到了，它就是<a href="http://www.apachefriends.org/en/xampp.html" target="_blank">XAMPP</a>，你说叫啥不好，非要出来一个X，最后还要加个P。 </p>
<p>ps1：人有时候就是很贱，非要熬夜才有效率。</p>
<p>ps2：hygeen每周末要狂奔700mile去牛郎织女，可歌可泣，四个轮子也的确比两个轮子好。</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/apache" title="apache" rel="tag">apache</a>, <a href="http://www.satwe.com/tag/mysql" title="mysql" rel="tag">mysql</a>, <a href="http://www.satwe.com/tag/php" title="php" rel="tag">php</a>, <a href="http://www.satwe.com/tag/xampp" title="xampp" rel="tag">xampp</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/839.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>升级WP-PostView 后MBCS错误的解决办法</title>
		<link>http://www.satwe.com/archives/732.html</link>
		<comments>http://www.satwe.com/archives/732.html#comments</comments>
		<pubDate>Mon, 25 Aug 2008 08:09:52 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[技术讨论]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/732.html</guid>
		<description><![CDATA[WP-PostView是一个应用非常广泛的WordPress插件，现在最新版本是1.31。但是有的博客在升级WP-PostView到1.31之后，会出现如下的错误： Warning: cannot yet handle MBCS in html_entity_decode()! in /wp-content/plugins/wp-postviews/wp-postviews.php on line 260 如果你恰巧激活了WP-Email，那么错误提示则为： Warning: cannot yet handle MBCS in html_entity_decode()! in /wp-content/plugins/wp-email/wp-email.php on line 338 从作者论坛了解到，这是由于在新版的WP-PostView中使用的PHP5中的函数，如果服务器上依旧使用的是PHP4.x，则会出现这个错误。 解决的办法很简单，升级PHP4.x到PHP5.x。 如果服务器由于某种原因不能升级PHP，则需要下载老版本的WP-PostView（1.20）去覆盖。 wp-postview-1.20可以从这里下载： 本地下载 本文标签: php, plugin, wordpress]]></description>
			<content:encoded><![CDATA[<p>WP-PostView是一个应用非常广泛的<a href="http://www.satwe.com/tag/wordpress">WordPress</a>插件，现在最新版本是1.31。但是有的博客在升级WP-PostView到1.31之后，会出现如下的错误：</p>
<blockquote><p><code>Warning: cannot yet handle MBCS in html_entity_decode()! in /wp-content/plugins/wp-postviews/wp-postviews.php on line 260</code></p>
</blockquote>
<p>如果你恰巧激活了WP-Email，那么错误提示则为：</p>
<blockquote><p><code>Warning: cannot yet handle MBCS in html_entity_decode()! in /wp-content/plugins/wp-email/wp-email.php on line 338</code></p>
</blockquote>
<p>从<a href="http://forums.lesterchan.net/index.php/topic,1945.0.html">作者论坛</a>了解到，这是由于在新版的WP-PostView中使用的PHP5中的函数，如果服务器上依旧使用的是PHP4.x，则会出现这个错误。</p>
<p>解决的办法很简单，升级PHP4.x到PHP5.x。</p>
<p>如果服务器由于某种原因不能升级PHP，则需要下载老版本的WP-PostView（1.20）去覆盖。</p>
<p>wp-postview-1.20可以从这里下载：</p>
<p><a href="http://www.satwe.com/u/8">本地下载</a></p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/php" title="php" rel="tag">php</a>, <a href="http://www.satwe.com/tag/plugin" title="plugin" rel="tag">plugin</a>, <a href="http://www.satwe.com/tag/wordpress" title="wordpress" rel="tag">wordpress</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/732.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhpSpy2008-很好用的web后门</title>
		<link>http://www.satwe.com/archives/643.html</link>
		<comments>http://www.satwe.com/archives/643.html#comments</comments>
		<pubDate>Wed, 16 Jan 2008 03:03:19 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[技术讨论]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[newsoft]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/643.html</guid>
		<description><![CDATA[在2008-01-07，Angel发布了PhpSpy的最新版本PhpSpy2008（这里）。 PhpSpy是一个非常好用的web后门程序，公开发行的版本只包含了有限的文件管理、MySql管理、文件上传下载、执行命令等功能。如果只是拿来自己管理用的话，也足够了。 下载地址：2008版·2006版·2005版·1.5版 本地下载：PhpSpy2008 下面是官方网站的介绍： 项目介绍 PhpSpy是一个用PHP语言编写的在线管理程序，同时集成很多和海阳顶端网所类似的功能，也可以说是一个WEB方式的后门，结合现有的攻击手法，本着实用、简洁、小巧的原则，开发了这个程序。由于程序性质问题，公开提供下载的版本不会提供更多的操作。例如MSSQL连接、WIN主机反弹等。 2008功能列表(基于2006) 加强cookie功能。 改成全英文版并根据数据库的编码设置声明相应的页面编码，以确保各编码服务器能正常输出。 加强文件管理功能，增加批量删除文件。增加新的文件属性显示方式和宿主。增加目录改名。增加查看网站根目录和当前目录下的所有可写子目录。在WIN主机下自动探测所有分区以及分区类型。 增加通过MYSQL方式上传下载文件，其中下载文件不需要数据库用户具有FILE权限。即可完整下载。程序自动判断两种方式下载。上传需要具有FILE权限。 加强MYSQL数据库管理功能，增加查询回显并带分页显示，增加插入、修改、删除记录。增加查看表结构和常用信息、删除表功能。并支持多句同时运行。 增加执行PHP代码功能，并附加一些有用的PHP代码。例如Serv-U本地提权利用代码，适用于6.4以及一下版本，以及MYSQL反弹SHELL等。 增强执行命令功能。 简化一些PHP环境变量显示。 大大提高各个操作的效率，尤其是文件管理。加快多文件目录的输出速度。 基本全部改为POST方式提交数据和跳转。大大的增加了隐蔽性。防止管理员查看日志找出端倪。 增加linux主机端口反弹功能。使用PERL和C 双重实现。 本文标签: hack, mysql, newsoft, php]]></description>
			<content:encoded><![CDATA[<p>在2008-01-07，Angel发布了PhpSpy的最新版本PhpSpy2008（<a href="http://www.4ngel.net/project/phpspy.htm" target="_blank">这里</a>）。</p>
<p>PhpSpy是一个非常好用的web后门程序，公开发行的版本只包含了有限的文件管理、MySql管理、文件上传下载、执行命令等功能。如果只是拿来自己管理用的话，也足够了。</p>
<p><strong>下载地址</strong>：<a href="http://www.satwe.com/u/3" target="_blank">2008版</a>·<a href="http://www.satwe.com/u/4" target="_blank">2006版</a>·<a href="http://www.satwe.com/u/5" target="_blank">2005版</a>·<a href="http://www.satwe.com/u/6" target="_blank">1.5版</a></p>
<p><strong>本地下载</strong>：<a href="http://www.satwe.com/u/7" target="_blank">PhpSpy2008</a></p>
<p><span id="more-643"></span></p>
<p>下面是官方网站的介绍：</p>
<blockquote><p><strong>项目介绍</strong></p>
<p>PhpSpy是一个用PHP语言编写的在线管理程序，同时集成很多和海阳顶端网所类似的功能，也可以说是一个WEB方式的后门，结合现有的攻击手法，本着实用、简洁、小巧的原则，开发了这个程序。由于程序性质问题，公开提供下载的版本不会提供更多的操作。例如MSSQL连接、WIN主机反弹等。</p>
<p><strong>2008功能列表(基于2006)</strong></p>
<ol>
<li>加强cookie功能。</li>
<li>改成全英文版并根据数据库的编码设置声明相应的页面编码，以确保各编码服务器能正常输出。</li>
<li>加强文件管理功能，增加批量删除文件。增加新的文件属性显示方式和宿主。增加目录改名。增加查看网站根目录和当前目录下的所有可写子目录。在WIN主机下自动探测所有分区以及分区类型。</li>
<li>增加通过MYSQL方式上传下载文件，其中下载文件不需要数据库用户具有FILE权限。即可完整下载。程序自动判断两种方式下载。上传需要具有FILE权限。</li>
<li>加强MYSQL数据库管理功能，增加查询回显并带分页显示，增加插入、修改、删除记录。增加查看表结构和常用信息、删除表功能。并支持多句同时运行。</li>
<li>增加执行PHP代码功能，并附加一些有用的PHP代码。例如Serv-U本地提权利用代码，适用于6.4以及一下版本，以及MYSQL反弹SHELL等。</li>
<li>增强执行命令功能。</li>
<li>简化一些PHP环境变量显示。</li>
<li>大大提高各个操作的效率，尤其是文件管理。加快多文件目录的输出速度。</li>
<li>基本全部改为POST方式提交数据和跳转。大大的增加了隐蔽性。防止管理员查看日志找出端倪。</li>
<li>增加linux主机端口反弹功能。使用PERL和C 双重实现。</li>
</ol>
</blockquote>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/hack" title="hack" rel="tag">hack</a>, <a href="http://www.satwe.com/tag/mysql" title="mysql" rel="tag">mysql</a>, <a href="http://www.satwe.com/tag/newsoft" title="newsoft" rel="tag">newsoft</a>, <a href="http://www.satwe.com/tag/php" title="php" rel="tag">php</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/643.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用phproxy建立web proxy</title>
		<link>http://www.satwe.com/archives/491.html</link>
		<comments>http://www.satwe.com/archives/491.html#comments</comments>
		<pubDate>Wed, 08 Aug 2007 15:17:21 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[技术讨论]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proxy]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/491.html</guid>
		<description><![CDATA[相信大家对下面这个画面非常的熟悉，访问某些网页的时候经常会提示说“到服务器的连接被重置”，原因大家都很清楚。 这给我们带来了一些不必要的麻烦。采用phproxy建立一个web proxy则可以在一定程度上解决这个问题。 首先介绍一下phproxy，顾名思义，它是用php写的一个web proxy程序，当前最新的版本是phproxy-0.5 beta2，更新日期是2007-1-20。值得注意的是，不要将phproxy于phpproxy(PhpProxy)混淆。PhpProxy是另外一个web proxy程序，最新程序是2.1，发布于2004年，目前没有继续更新，所以存在不少的bug。 phproxy的使用非常简单，下载，解压释放到web服务器的一个目录即可。为了防止被滥用，可以通过.htaccess来设置该目录的访问权限。 phproxy-0.5b2 相对于以前的 0.4 版本来说做了很多改进，详情可以参考软件包内文档。整个程序界面简介大方，并且提供了一些配制参数。 这样通过phproxy就可以访问远程网站的页面，对于被封的网站也适用。但是如果页面存在一些敏感词语的话，那么整个页面也会因为关键词过滤而被中断。解决这个问题的方法就是采用https连接来访问phproxy提供的web proxy. phproxy对于大部分网页都支持良好，下面是myspace.com和wikipedia的页面。 本文标签: firewall, network, php, proxy]]></description>
			<content:encoded><![CDATA[<p>相信大家对下面这个画面非常的熟悉，访问某些网页的时候经常会提示说“到服务器的连接被重置”，原因大家都很清楚。<img src="http://www.satwe.com/wp-content/uploads/2007/08/phproxy-0.54-wiki-direct.png" style="border: 0px none " alt="phproxy-0.54-wiki-direct" border="0" height="324" width="480" /></p>
<p>这给我们带来了一些不必要的麻烦。采用phproxy建立一个web proxy则可以在一定程度上解决这个问题。</p>
<p>首先介绍一下<a href="http://whitefyre.com/poxy/">phproxy</a>，顾名思义，它是用php写的一个web proxy程序，当前最新的版本是<a href="http://sourceforge.net/project/showfiles.php?group_id=110693">phproxy-0.5 beta2</a>，更新日期是2007-1-20。值得注意的是，不要将<a href="http://whitefyre.com/poxy/">phproxy</a>于phpproxy(PhpProxy)混淆。PhpProxy是另外一个web proxy程序，最新程序是2.1，发布于2004年，目前没有继续更新，所以存在不少的bug。</p>
<p>phproxy的使用非常简单，下载，解压释放到web服务器的一个目录即可。为了防止被滥用，可以通过.htaccess来设置该目录的访问权限。</p>
<p>phproxy-0.5b2 相对于以前的 0.4 版本来说做了很多改进，详情可以参考软件包内文档。整个程序界面简介大方，并且提供了一些配制参数。</p>
<p><span id="more-491"></span></p>
<p><img src="http://www.satwe.com/wp-content/uploads/2007/08/phproxy-0.54-index.png" style="border: 0px none " alt="phproxy-0.54-index" border="0" height="324" width="480" /></p>
<p>这样通过phproxy就可以访问远程网站的页面，对于被封的网站也适用。但是如果页面存在一些敏感词语的话，那么整个页面也会因为关键词过滤而被中断。解决这个问题的方法就是采用https连接来访问phproxy提供的web proxy.</p>
<p>phproxy对于大部分网页都支持良好，下面是myspace.com和wikipedia的页面。</p>
<p><a href="http://www.satwe.com/wp-content/uploads/2007/08/phproxy-0.54-myspace.png" atomicselection="true"><img src="http://www.satwe.com/wp-content/uploads/2007/08/phproxy-0.54-myspace-thumb.png" style="border: 0px none " alt="phproxy-0.54-myspace" border="0" height="162" width="240" /></a> <a href="http://www.satwe.com/wp-content/uploads/2007/08/phproxy-0.54-wiki.png" atomicselection="true"><img src="http://www.satwe.com/wp-content/uploads/2007/08/phproxy-0.54-wiki-thumb.png" alt="phproxy-0.54-wiki" border="0" height="162" width="240" /></a></p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/firewall" title="firewall" rel="tag">firewall</a>, <a href="http://www.satwe.com/tag/network" title="network" rel="tag">network</a>, <a href="http://www.satwe.com/tag/php" title="php" rel="tag">php</a>, <a href="http://www.satwe.com/tag/proxy" title="proxy" rel="tag">proxy</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/491.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>使用SVNManager管理使用SVN</title>
		<link>http://www.satwe.com/archives/466.html</link>
		<comments>http://www.satwe.com/archives/466.html#comments</comments>
		<pubDate>Tue, 31 Jul 2007 05:50:03 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[技术讨论]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/p466.html</guid>
		<description><![CDATA[Subversion有着非常好的特性，但是默认的用户权限以及Repository管理都是通过手工修改服务器上的配置文件来实现，非常不方便。（题外：可以通过配置apache使用mysql来管理用户(mod_auth_mysql)，但是用户组以及代码仓库的管理还是不方便） 所幸，我们遇到的问题就是大家遇到的问题，SVNManager就是为了解决这个问题而出现的 SVNManager的介绍不太复杂，但是由于一些依赖的库的关系，第一次安装确可能会遇到各种问题，而官方文档上并没有解释。下面罗列一下具体的步骤。 1.软件下载 Apache-2.0.59 PHP-5.1.2, 这里要求是5.0以上版本 PHP Pear, 这个在5.1.2中默认已经包括了，不过需要执行一个安装的步骤 VersionControl_SVN,这个可以通过pear安装 mysql or sqlite: 需要在php.ini中配置好 SvnManager-0.39 2.安装(这里为windows平台下，linux平台类似) （假设SVN以及Apache已经配置好，如果没有请参考本文底部的“相关文章”） 安装pear 安装完php-5.1.2之后（包括msi或者zip版本），在php的安装目录有go-pear.bat批处理文件，运行之。 运行完后，检查c:\windows\php.ini中是否包括这一行: include_path = &#8220;.;F:\apache\php\PEAR&#8221; 安装VersionControl_SVN，可以通过命令行来自动下载安装 pear install VersionControl 或者从网站下载后解压缩到PEAR目录 根据需要，检查php是否已经开启了mysql或者sqlite的支持 在c:\windows\php.ini查看下面两行前面的分号已经去掉: extension=php_pdo.dll extension=php_sqlite.dll或者extension=php_pdo_mysql.dll 并确保php扩展的目录制定正确： extension_dir = &#8220;F:\apache\php\ext&#8221; 可以通过phpinfo()检查是否加载成功。 安装SVNManager 上面完成之后，安装SVNManager就非常简单。 将SVNManager解压缩到网站目录，修改config.php，主要是设定htpasswd, svn, svn-admin以及svn_passwd_file等文件位置，参考注释很容易修改。 浏览器中打开SVNManager网址，之后可以使用config.php中的临时管理用户密码登录，并添加第一个管理员帐号（一定要做）。然后通过这个帐号就可以进行用户以及代码仓库的管理工作。 3. 附录 DAV svn SVNParentPath &#8220;F:/SVNData/svn&#8221; SVNListParentPath on AuthzSVNAccessFile F:/SVNData/svn_access_file Require&#8230;]]></description>
			<content:encoded><![CDATA[<p>Subversion有着非常好的特性，但是默认的用户权限以及Repository管理都是通过手工修改服务器上的配置文件来实现，非常不方便。<em>（题外：可以通过配置apache使用mysql来管理用户(mod_auth_mysql)，但是用户组以及代码仓库的管理还是不方便）</em></p>
<p>所幸，我们遇到的问题就是大家遇到的问题，SVNManager就是为了解决这个问题而出现的 <img src='http://www.satwe.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>SVNManager的介绍不太复杂，但是由于一些依赖的库的关系，第一次安装确可能会遇到各种问题，而官方文档上并没有解释。下面罗列一下具体的步骤。</p>
<p><strong>1.软件下载</strong><br />
<!--adsense#vlink--></p>
<ul>
<li><a href="http://httpd.apache.org/">Apache-2.0.59</a></li>
<li><a href="http://www.php.net/">PHP-5.1.2</a>, 这里要求是5.0以上版本</li>
<li><a href="http://pear.php.net/">PHP Pear</a>,  这个在5.1.2中默认已经包括了，不过需要执行一个安装的步骤</li>
<li><a href="http://pear.php.net/package/VersionControl_SVN">VersionControl_SVN</a>,这个可以通过pear安装</li>
<li>mysql or sqlite: 需要在php.ini中配置好</li>
<li><a href="http://svnmanager.sourceforge.net">SvnManager-0.39</a></li>
</ul>
<p><strong>2.安装(这里为windows平台下，linux平台类似)</strong></p>
<p>（假设SVN以及Apache已经配置好，如果没有请参考本文底部的“相关文章”）</p>
<ul>
<li>安装pear<br />
安装完php-5.1.2之后（包括msi或者zip版本），在php的安装目录有go-pear.bat批处理文件，运行之。<br />
运行完后，检查c:\windows\php.ini中是否包括这一行:<br />
<strong>include_path  = &#8220;.;F:\apache\php\PEAR&#8221;</strong></li>
<li>安装<a href="http://pear.php.net/package/VersionControl_SVN">VersionControl_SVN</a>，可以通过命令行来自动下载安装<br />
<strong>pear  install VersionControl<br />
</strong>或者从网站下载后解压缩到PEAR目录</li>
<li>根据需要，检查php是否已经开启了mysql或者sqlite的支持<br />
在c:\windows\php.ini查看下面两行前面的分号已经去掉:<br />
<strong>extension=php_pdo.dll<br />
extension=php_sqlite.dll</strong>或者<strong>extension=php_pdo_mysql.dll<br />
</strong>并确保php扩展的目录制定正确：<br />
<strong>extension_dir  = &#8220;F:\apache\php\ext&#8221;<br />
</strong>可以通过<strong>phpinfo()</strong>检查是否加载成功。</li>
<li>安装SVNManager<br />
上面完成之后，安装SVNManager就非常简单。<br />
将SVNManager解压缩到网站目录，修改config.php，主要是设定htpasswd,  svn, svn-admin以及svn_passwd_file等文件位置，参考注释很容易修改。</li>
<li>浏览器中打开SVNManager网址，之后可以使用config.php中的临时管理用户密码登录，并添加第一个管理员帐号（<strong>一定要做</strong>）。然后通过这个帐号就可以进行用户以及代码仓库的管理工作。</li>
</ul>
<p><strong>3. 附录</strong><br />
<coolcode linenum="no" lang="xml"><br />
<location /svn><br />
DAV svn<br />
SVNParentPath &#8220;F:/SVNData/svn&#8221;<br />
SVNListParentPath on</p>
<p>AuthzSVNAccessFile F:/SVNData/svn_access_file</p>
<p>Require valid-user</p>
<p>AuthType Basic<br />
AuthName &#8220;Subversion repository&#8221;<br />
AuthUserFile F:/SVNData/svn_passwd_file<br />
</location></coolcode></p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/apache" title="apache" rel="tag">apache</a>, <a href="http://www.satwe.com/tag/mysql" title="mysql" rel="tag">mysql</a>, <a href="http://www.satwe.com/tag/php" title="php" rel="tag">php</a>, <a href="http://www.satwe.com/tag/sqlite" title="sqlite" rel="tag">sqlite</a>, <a href="http://www.satwe.com/tag/svn" title="SVN" rel="tag">SVN</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/466.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP+ACCESS的解决方案</title>
		<link>http://www.satwe.com/archives/375.html</link>
		<comments>http://www.satwe.com/archives/375.html#comments</comments>
		<pubDate>Wed, 06 Sep 2006 15:06:33 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[技术讨论]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.satwe.com/2006/09/375.html</guid>
		<description><![CDATA[由于一些低价的空间支持ACCESS数据库，因此开发起来比用php+mysql这套黄金搭档要别扭许多，但是也不是没有解决方案。 可以采用下面的例子，利用adodb.connection来进行access数据库的连接。 其中对于数据连接驱动有两种，可以根据虚拟主机的实际情况进行选择。 &#60;?php $dbc=new com(&#8220;adodb.connection&#8221;); //$dbc-&#62;open(&#8220;driver=microsoft access driver (*.mdb);dbq=D:\virtualhost\web10022\www\test\aaa.mdb&#8221;); $dbc-&#62;open(&#8220;Provider = Microsoft.Jet.OLEDB.4.0;Data Source = D:\\virtualhost\\web10022\\www\\test\\aaa.mdb&#8221;); $rs=$dbc-&#62;execute(&#8220;select * from adminuser&#8221;); $num_columns = $rs-&#62;Fields-&#62;Count(); echo $num_columns . &#8220;\n&#8221;; $i=0; while (!$rs-&#62;eof){ $i+=1; $fld0=$rs-&#62;fields["username"]; $fld1=$rs-&#62;fields["password"]; echo &#8220;$fld0-&#62;value $fld1-&#62;value&#60;br&#62;&#8221;; $rs-&#62;movenext(); } $rs-&#62;close(); ?&#62; 本文标签: php]]></description>
			<content:encoded><![CDATA[<p><span id="BlogViewId" be:sortmode="Archive" be:firsthandle="cns!42B80124FE3ED55A!246" be:lasthandle="cns!42B80124FE3ED55A!242"></span></p>
<p id="msgcns!42B80124FE3ED55A!243" class="bvMsg">由于一些低价的空间支持ACCESS数据库，因此开发起来比用php+mysql这套黄金搭档要别扭许多，但是也不是没有解决方案。</p>
<p>可以采用下面的例子，利用adodb.connection来进行access数据库的连接。</p>
<p>其中对于数据连接驱动有两种，可以根据虚拟主机的实际情况进行选择。</p>
<p><font style="background-color: #c0c0c0">&lt;?php<br />
$dbc=new com(&#8220;adodb.connection&#8221;);<br />
//$dbc-&gt;open(&#8220;driver=microsoft access driver (*.mdb);dbq=D:\virtualhost\web10022\www\test\aaa.mdb&#8221;);<br />
$dbc-&gt;open(&#8220;Provider = Microsoft.Jet.OLEDB.4.0;Data Source = D:\\virtualhost\\web10022\\www\\test\\aaa.mdb&#8221;);<br />
$rs=$dbc-&gt;execute(&#8220;select * from adminuser&#8221;);  </font></p>
<p><font style="background-color: #c0c0c0">$num_columns = $rs-&gt;Fields-&gt;Count();<br />
echo $num_columns . &#8220;\n&#8221;;</font></p>
<p><font style="background-color: #c0c0c0">$i=0;<br />
while (!$rs-&gt;eof){<br />
$i+=1;<br />
$fld0=$rs-&gt;fields["username"];<br />
$fld1=$rs-&gt;fields["password"];<br />
echo &#8220;$fld0-&gt;value $fld1-&gt;value&lt;br&gt;&#8221;;<br />
$rs-&gt;movenext();<br />
}<br />
$rs-&gt;close();<br />
?&gt; </font></p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/php" title="php" rel="tag">php</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/375.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
