本文系原创.
在Ubuntu中搭建一般的LAMP环境实在是太简单的一件事, 只需要
$sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5
就好了(差不多, 如果没记错的话).

然而, 这样搭建出来的LAMP环境, PHP是通过Apache2的mod执行的, 这也就是软件包libapache2-mod-php5的作用. 通过mod执行的PHP有速度快, 方便等诸多优势. 不过现在我就是想要它通过Fastcgi执行. 别问为什麽.
找了好多资料, 奇怪怎麽就没人能说清楚, 真是..... 只好自己总结了
----------------------cut here----------
首先, 删除libapache2-mod-php5, 因为没用了.
$sudo a2dismod php5
$sudo apt-get remove libapache2-mod-php5
安装cgi版的php(自己会支持fcgi的)和apache2的action模块
$sudo apt-get install php5-cgi
$sudo a2enmod actions
新建目录, 把安装的php5-cgi扔过去
$sudo mkdir /usr/local/php5-fcgi
$sudo mkdir /usr/local/php5-fcgi/bin
$sudo cp /usr/bin/php5-cgi /usr/local/php5-fcgi/bin/
下面关键了, 总是出错的就是这了
在你的虚拟主机配置(sites-enabled那里)文件,
<VirtualHost > 之内, 其他标签之外添加这些内容:
ScriptAlias /fcgi-bin/ "/usr/local/php5-fcgi/bin/"
Action php-fastcgi /fcgi-bin/php5-cgi
AddHandler php-fastcgi .php
AddType application/x-httpd-php .php
<Location /fcgi-bin>
Options FollowSymLinks ExecCGI
</Location>
然后重启apache2, 完事.
若有问题, 欢迎反馈~

Posted by yoily

2008/08/18 07:38 2008/08/18 07:38
, ,
Response
No Trackback , 2 Comments
RSS :
http://thisisblog.com/rss/response/21

Comments List

  1. 有问题 2008/08/22 14:06 # M/D Reply Permalink

    有问题 ...看不懂~~~

    1. admin@thisisblog.com 2008/08/23 13:36 # M/D Permalink

      这才正常

Leave a comment
[登录][OpenID是?]

PHP: 如何强制浏览器弹出下载框

以前一直对类似Discuz这样的论坛的attachment.php怎麽让浏览器弹出下载框很好奇, 今天发现了一个不错的方法:
在有输出之前添加
header("Content-type: application/octet-stream");
即可.  然后在之后加上要输出的内容, 或者转向到的(要下载的文件)地址都可以.

Posted by yoily

2008/08/10 11:39 2008/08/10 11:39
, ,
Response
No Trackback , No Comment
RSS :
http://thisisblog.com/rss/response/13

Leave a comment
[登录][OpenID是?]

YAML, PHP和spyc

估计知道YAML是什麽的人还不太多, 其中之一的原因可能是YAML的英文缩写是类似PHP一样的回环缩写, 让人有点晕... 官方的解读是"YAML Ain't Markup Language", 虽然我更愿意是"YAML: Yet Another Markup Language"....
YAML是作用和逻辑结构类似于XML的一种格式(想说标记语言的, 人家不让...). 看一个例子就能很容易的明白:
name: John Smith
age: 37
spouse:
    name: Jane Smith
    age: 25
children:
    -   name: Jimmy Smith
        age: 15
    -   name: Jenny Smith
        age 12
::引自 http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/index.html
是否很好理解? 有一个人的名字叫做John什麽什麽, 然后他的女朋友叫做什麽什麽, 孩子们分别怎样怎样.如果换成用XML来表达同样的意思, 会复杂很多.
可以简单的看到, YAML在大大增加了信息的可读性的同时(相信完全不会计算机的人也能读懂YAML, 而XML, 开玩笑吧?), 并没有增大数据存储和传输的开销, 甚至可能还减小了文件的大小.
PHP程序员要问了, XML有N种办法解析, 那YAML呢?
所以, 隆重退出简单的不能再简单的PHP YAML类 - spyc (simple php yaml class).
官方网站是http://spyc.sourceforge.net/ 前段时间好像给墙挡住了....
为什麽说它简单, 因为它...它...它这个类只有两个方法:
include('spyc.php');
 
// 读取YAML文件,生成数组
$yaml = Spyc::YAMLLoad('example.yaml');
 
// 将数组转换成YAML文件
$array['name']  = '';
$array['site'] = '21andy.com';
$yaml = Spyc::YAMLDump($array);
::引自21andy.com
上面的yanl示例用这个类取回的数组就是

这个


更详细的例子见 http://spyc.sourceforge.net/
PS:还有另外一个和css有关的东西也叫yaml, 没仔细看, 官网http://www.yaml.de/ . 两者除了名字一样, 似乎没有任何关系了.

Posted by yoily

2008/07/30 02:01 2008/07/30 02:01
, ,
Response
No Trackback , No Comment
RSS :
http://thisisblog.com/rss/response/10

Leave a comment
[登录][OpenID是?]