<?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>YY in Limbo 混沌海狂想 &#187; PHP</title>
	<atom:link href="http://www.limboy.com/category/coder/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.limboy.com</link>
	<description>这里既空虚又充实，没有规则，没有约束，创造来自思考，生存依赖想像，现实源自梦想</description>
	<lastBuildDate>Fri, 07 Oct 2011 19:33:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在Leopard里配置rails+php+apache+mysql</title>
		<link>http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/</link>
		<comments>http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 04:21:37 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/</guid>
		<description><![CDATA[上上周在lex的怂恿下升级到了Leopard，最后花了3天时间，备份数据用了一台macbook pro加一只80g移动硬盘，重装4遍，到现在总算稳定下来了，不过还有一个bug未解决（期待10.5.1补丁）……
在Leopard里，很多开源代码都升级到了最新版，比如Python 2.5.1，PHP 5.2.4，Ruby 1.8.6，Apache 2.2，更棒的是，这次系统里直接集成了ruby on rails，包括Mongrel和Capistrano，据说还做过优化……
以前在mac里配置ROR，我是按照Dan Benjamin的《Building Ruby, Rails, Subversion, Mongrel, and MySQL on Mac OS X》来做的，安装ruby,gem之类的东西都是依靠MacPorts（osx里的包管理系统），而MacPorts安装的程序都在/opt/local里，独立于系统环境……
作为一个完美主义者，一定不能容忍自己心爱的系统里有任何兀余的代码，所以，这一次我希望能在leopard已经集成的代码基础上，搭建rails+php+apache+mysql的开发环境……
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
首先搞定apache，在配置面板里的“共享”中，选中&#8221;web共享&#8221;，就可以启动apache。默认的http://localhost指向/Library/WebServer/Documents，如果想修改成自己的目录，比如/Users/dexteryy/Sites/www，最简单的方法是直接改掉httpd.conf里的DocumentRoot
httpd.conf是放在/etc/apache2/里的，除了DocumentRoot，还要记得把下面两行代码前的注释删掉：
LoadModule php5_module        libexec/apache2/libphp5.so
LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
然后是php.ini，系统默认在/etc里放了一个php.ini.default，把它copy一份，改名为php.ini
php.ini里有一个关于mysql的地方要注意，leopard好像修改过mysql.sock的位置，所以要修改以下两行：
mysql.default_socket = /private/tmp/mysql.sock
mysqli.default_socket = /private/tmp/mysql.sock
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
然后安装最新的mysql，我下载的是mysql-5.0.45-osx10.4-i686.dmg。其中的MySQLStartupItem.pkg和mysql.prefpane都不用安装了，因为这两个东西目前都不起作用-___-b
以前启动mysql都是用这个命令：
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
但是在leopard里，这个东西好像失效了，只好用这个命令来启动
sudo /usr/local/mysql/bin/safe_mysqld
如果要自动启动mysql，可以用以下方法：
在/Library/LaunchDaemons/里新建一个叫com.mysql.mysqld.plist的文件：
&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62;
&#60;!DOCTYPE&#160;plist PUBLIC &#34;-//Apple//DTD PLIST 1.0//EN&#34; &#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#34;&#62;
&#60;plist&#160;version=&#34;1.0&#34;&#62;
&#60;dict&#62;
&#160; &#160; &#60;key&#62;KeepAlive&#60;/key&#62;
&#160; &#160; &#60;true/&#62;
&#160; &#160; &#60;key&#62;Label&#60;/key&#62;
&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/leopard_box200jpg/' rel='attachment wp-att-154' title='leopard_box200.jpg'><img src='http://www.limboy.com/wp-content/uploads/2007/11/leopard_box200.jpg' alt='leopard_box200.jpg' style="float:left;margin:0 10px 5px 0;width:150px;" /></a>上上周在lex的怂恿下升级到了Leopard，最后花了3天时间，备份数据用了一台macbook pro加一只80g移动硬盘，重装4遍，到现在总算稳定下来了，不过还有一个bug未解决（期待10.5.1补丁）……</p>
<p>在Leopard里，很多开源代码都升级到了最新版，比如Python 2.5.1，PHP 5.2.4，Ruby 1.8.6，Apache 2.2，更棒的是，这次系统里直接集成了ruby on rails，包括<a href="http://mongrel.rubyforge.org/">Mongrel</a>和Capistrano，据说还做过优化……</p>
<p>以前在mac里配置ROR，我是按照Dan Benjamin的<a href="http://hivelogic.com/narrative/articles/ruby-rails-mongrel-mysql-osx">《Building Ruby, Rails, Subversion, Mongrel, and MySQL on Mac OS X》</a>来做的，安装ruby,gem之类的东西都是依靠<a href="http://www.macports.org/">MacPorts</a>（osx里的包管理系统），而MacPorts安装的程序都在/opt/local里，独立于系统环境……</p>
<p>作为一个完美主义者，一定不能容忍自己心爱的系统里有任何兀余的代码，所以，这一次我希望能在leopard已经集成的代码基础上，搭建rails+php+apache+mysql的开发环境……<span id="more-153"></span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>首先搞定apache，在配置面板里的“共享”中，选中&#8221;web共享&#8221;，就可以启动apache。默认的http://localhost指向/Library/WebServer/Documents，如果想修改成自己的目录，比如/Users/dexteryy/Sites/www，最简单的方法是直接改掉httpd.conf里的DocumentRoot</p>
<p>httpd.conf是放在/etc/apache2/里的，除了DocumentRoot，还要记得把下面两行代码前的注释删掉：</p>
<p>LoadModule php5_module        libexec/apache2/libphp5.so<br />
LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>然后是php.ini，系统默认在/etc里放了一个php.ini.default，把它copy一份，改名为php.ini</p>
<p>php.ini里有一个关于mysql的地方要注意，leopard好像修改过mysql.sock的位置，所以要修改以下两行：</p>
<p>mysql.default_socket = /private/tmp/mysql.sock</p>
<p>mysqli.default_socket = /private/tmp/mysql.sock</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>然后安装最新的mysql，我下载的是mysql-5.0.45-osx10.4-i686.dmg。其中的MySQLStartupItem.pkg和mysql.prefpane都不用安装了，因为这两个东西目前都不起作用-___-b</p>
<p>以前启动mysql都是用这个命令：</p>
<p>sudo /Library/StartupItems/MySQLCOM/MySQLCOM start</p>
<p>但是在leopard里，这个东西好像失效了，只好用这个命令来启动</p>
<p>sudo /usr/local/mysql/bin/safe_mysqld</p>
<p>如果要自动启动mysql，可以用以下方法：</p>
<p>在/Library/LaunchDaemons/里新建一个叫com.mysql.mysqld.plist的文件：</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: Olive;">&lt;?</span><span style="color: Green;">xml</span><span style="color: Gray;"> </span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">encoding</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">?&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Gray;">!</span><span style="color: #00008b;">DOCTYPE</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">plist</span><span style="color: Gray;"> </span><span style="color: #00008b;">PUBLIC</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-//Apple//DTD PLIST 1.0//EN</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.apple.com/DTDs/PropertyList-1.0.dtd</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">plist</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">dict</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">KeepAlive</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">true</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Label</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">com.mysql.mysqld</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Program</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">/usr/local/mysql/bin/mysqld_safe</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">RunAtLoad</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">true</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">dict</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">plist</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>修改权限：<br />
sudo chown root /Library/LaunchDaemons/com.mysql.mysqld.plist</p>
<p>ok了……注意，如果安装过MySQLStartupItem.pkg，最好把MYSQLCOM直接删掉：</p>
<p>sudo rm -R /Library/StartupItems/MYSQLCOM</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>ruby on rails已经完美的集成了，不需要做任何设置，除了跟mysql的绑定……</p>
<p>sudo gem install mysql &#8212; &#8211;with-mysql-dir=/usr/local/mysql</p>
<p>选择3……</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>现在可以新建rails的项目了，在终端里进入刚才设置的DocumentRoot目录，输入/rails rails_test</p>
<p>然后启动服务器：<br />
rails_test/script/server</p>
<p>命令执行后不要关闭终端窗口（会关闭服务器），leopard的终端现在支持标签了，苹果键＋T，继续做别的事情……</p>
<p>现在访问http://localhost:3000/ ，就可以看到rails项目的页面了……</p>
<p>这里启动的服务器是Mongrel，实际上可以把它跟apache整合到一起，用apache接受浏览器的请求，利用反向代理功能转发给Mongrel，这样就不需要用3000端口，直接用这样的地址就可以访问rails的页面：http://localhost/rails_test</p>
<p>方法很简单，找到刚才的httpd.conf，在最下面加入：</p>
<p>ProxyPass /rails_test http://localhost:3000</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>以上是我目前搭建的一个简单的rails+php+apache+mysql开发环境，可能还有其他问题，在具体使用中慢慢改……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CodeX Apps原来就是一大堆PHP文件……</title>
		<link>http://www.limboy.com/2006/09/07/codexapps/</link>
		<comments>http://www.limboy.com/2006/09/07/codexapps/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 13:16:34 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[web服务/应用]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/index.php/2006/09/07/codexapps/</guid>
		<description><![CDATA[前几天看到了CodeX Apps个人版可以免费下载的消息，今天试用了一下……安装时什么提示都没有，直接塞进了C盘，还弹出一个命令行窗口，里面写着阿帕契服务启动……我差点晕倒……
幸好这个阿帕契与其他服务器设置没有冲突。仔细看看软件的根目录，果然安装了完整的PHP运行环境（还装了Zend……），一个叫“Web 2.0”的目录里还有大量AJAX库。也许是我孤陋寡闻，但这种纯WEB架构的软件我还是第一次安装……
试用了一下，功能和UI设计都很棒，如果有一台稳定的服务器运行这套软件，我可能会考虑长期使用。这个软件由两个部分组成，个人网络活页夹，和团队项目管理，网络活页夹的设计相当有创意，帮助文档中声称该软件的个人信息管理功能在OA软件中“无人能匹敌”，而且能与团队协同办公完美结合。

这个网络活页夹实际上就是一个制作个人页面的向导和管理系统，你可以在活页夹里新建一个页面，编辑标题和正文内容，上传相关的图片、上传相关的文件，设计列表（可以做成TODOLIST，也可以做成分类列表），加入注释/备忘录，加入其他页面的链接。这样一个页面可以直接在网络上公开，其他人不需要安装客户端软件就可以查看，也可以导出到硬盘，变成一个静态的网页。利用这个网络活页夹提供的功能，你可以轻松的制作出多种用途的页面，比如个人计划、相册、交易的单据、个人简历……右边这张图是一个页面的范例：
具体的操作和功能就不介绍了，这里有一个中文的在线使用手册
实际上，这个软件最让我感兴趣的是它的UI设计，虽然完全由PHP网页构成，但它的交互功能甚至比许多桌面软件都要做的好，处处都可以看到AJAX技术。界面的设计也非常漂亮，有MAC软件的风格。总之……非常值得学习……也许我应该建议经理大人在公司的服务器里装一个玩玩……
]]></description>
			<content:encoded><![CDATA[<p><a href="http://photo7.yupoo.com/20060907/223303_1409614614_zLtPY.jpg" title="CodeX Apps首页截图"><img src="http://photo7.yupoo.com/20060907/223303_1409614614_m.jpg" style="float: left; margin-right: 10px;width:130px;" border="0" /></a>前几天看到了<a href="http://www.elesson.com.cn/modules/news/article.php?storyid=1029">CodeX Apps个人版可以免费下载的消息</a>，今天试用了一下……安装时什么提示都没有，直接塞进了C盘，还弹出一个命令行窗口，里面写着阿帕契服务启动……我差点晕倒……</p>
<p>幸好这个阿帕契与其他服务器设置没有冲突。仔细看看软件的根目录，果然安装了完整的PHP运行环境（还装了Zend……），一个叫“Web 2.0”的目录里还有大量AJAX库。也许是我孤陋寡闻，但这种纯WEB架构的软件我还是第一次安装……<span id="more-49"></span></p>
<p>试用了一下，功能和UI设计都很棒，如果有一台稳定的服务器运行这套软件，我可能会考虑长期使用。这个软件由两个部分组成，个人网络活页夹，和团队项目管理，网络活页夹的设计相当有创意，帮助文档中声称该软件的个人信息管理功能在OA软件中“无人能匹敌”，而且能与团队协同办公完美结合。<br />
<a href="http://doc.codexapps.com/wp-content/uploads/2006/08/exported.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://doc.codexapps.com/wp-content/uploads/2006/08/exported.jpg" alt="" border="0" /></a><br />
这个网络活页夹实际上就是一个制作个人页面的向导和管理系统，你可以在活页夹里新建一个页面，编辑标题和正文内容，上传相关的图片、上传相关的文件，设计列表（可以做成TODOLIST，也可以做成分类列表），加入注释/备忘录，加入其他页面的链接。这样一个页面可以直接在网络上公开，其他人不需要安装客户端软件就可以查看，也可以导出到硬盘，变成一个静态的网页。利用这个网络活页夹提供的功能，你可以轻松的制作出多种用途的页面，比如个人计划、相册、交易的单据、个人简历……右边这张图是一个页面的范例：</p>
<p>具体的操作和功能就不介绍了，这里有一个中文的<a title="导出的静态页面" href="http://doc.codexapps.com/category/%e5%8a%9f%e8%83%bd%e8%af%b4%e6%98%8e/">在线使用手册</a></p>
<p>实际上，这个软件最让我感兴趣的是它的UI设计，虽然完全由PHP网页构成，但它的交互功能甚至比许多桌面软件都要做的好，处处都可以看到AJAX技术。界面的设计也非常漂亮，有MAC软件的风格。总之……非常值得学习……也许我应该建议经理大人在公司的服务器里装一个玩玩……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2006/09/07/codexapps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

