<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[PHP 在项目的配置文件中使用服务器的环境变量 ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Mon, 16 Nov 2009 13:39:49 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	一个php项目的config 文件的本地测试版本和服务器上的正式版本常常会不同（例如：在 config 中设置 mysql连接的用户名和密码，可是本地测试数据库 跟 服务器上的数据库很可能不同），这就给svn带来了麻烦。虽然可以通过 svn:ignore 属性来忽略这些 config 这些，可是 当config 文件的内容发生变化时，merge 会很麻烦（尤其你通过 ssh 管理服务器的话，没有gui的 diff 工具）。<br/><br/>我的解决办法是将配置数据设置为服务器的环境变量，在config 中使用这些环境变量，例如一个config 文件：<br/>&lt;?<br/>// ... ...<br/><br/>// 数据库 首选参数<br/>JCAT_DB::$sPreferredFactory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &#039;JCAT_DBFactoryMySQL41&#039; ;<br/>JCAT_DB::$sPreferredDBServer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &#039;localhost&#039; ;<br/>JCAT_DB::$sPreferredDBName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= SameDB&#039; ;<br/>JCAT_DB::$sPreferredDBUser&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &#039;root&#039; ;<br/>JCAT_DB::$sPreferredDBPassword&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= &#039;&#039; ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/><br/>// ... ...<br/>?&gt;<br/>可以 改为：<br/>&lt;?<br/>// ... ...<br/><br/>// 数据库 首选参数<br/>JCAT_DB::$sPreferredFactory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_SERVER[&#039;DBPreferredFactory&#039;];<br/>JCAT_DB::$sPreferredDBServer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_SERVER[&#039;DBPreferredServer&#039;];<br/>JCAT_DB::$sPreferredDBName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_SERVER[&#039;DBPreferredName&#039;];<br/>JCAT_DB::$sPreferredDBUser&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_SERVER[&#039;DBPreferredUser&#039;];<br/>JCAT_DB::$sPreferredDBPassword&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $_SERVER[&#039;DBPreferredPassword&#039;];&nbsp;&nbsp;<br/><br/>// ... ...<br/>?&gt;<br/><br/>然后在 apache 的配置文件中（或 .htaccess） 中设置：<br/><br/>SetEnv DBPreferredFactory &#039;JCAT_DBFactoryMySQL41&#039;<br/>SetEnv DBPreferredServer &#039;localhost&#039;<br/>SetEnv DBPreferredName &#039;SameDB&#039;<br/>SetEnv DBPreferredUser &#039;root&#039;<br/>SetEnv sPreferredDBPassword &#039;&#039;<br/><br/>（说明：SetEnv 属于 mod_env.so 所以必须先确保该模块可用）<br/><br/>在 php.ini 设置<br/>safe_mode_allowed_env_vars=DB<br/><br/><br/>重启 apache
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] PHP 在项目的配置文件中使用服务器的环境变量 ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>