1,利用 buildroot 编译安装好 lighttpd 和 php
查看 php 版本信息
#php-cgi -v
显示如下信息,内容里包含“PHP 5.2.17 (cgi-fcgi)"表示支持fast-cgi了
PHP 5.2.17 (cgi-fcgi) (built: Apr 18 2012 21:54:24)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
查看 php-cgi 存放路径
#which php-cgi
/usr/bin/php-cgi
2,拷贝 buildroot-2012.02/output/build/lighttpd-1.4.30/doc/config 到 /srv/nfs/etc/ 中
cp -fr buildroot-2012.02/output/build/lighttpd-1.4.30/doc/config /srv/nfs/etc/lighttpd
3,修改 /srv/nfs/etc/lighttpd/lighttpd.conf
禁用 IPV6,注释 93 行
#server.use-ipv6 = "enable"
注释 104, 105行
#server.username = "lighttpd"
#server.groupname = "lighttpd"
注释 191 行
#server.network-backend = "linux-sendfile"
4,在开发板上创建目录 /srv/www/htdocs , /var/log/lighttpd , /var/lib/lighttpd/sockets
#mkdir -p /srv/www/htdocs
#mkdir -p /var/log/lighttpd
#mkdir -p /var/lib/lighttpd/sockets
5,修改 /srv/nfs/etc/lighttpd/modules.conf 第 132 行,取消注释符号 “#”
include "conf.d/fastcgi.conf"
6,修改 /srv/nfs/etc/lighttpd/conf.d/fastcgi.conf, 从 22行到52行,取消注释符号 “#”,同时正确设置 php-cgi 的路径
fastcgi.server = ( ".php" =>
( "php-local" =>
(
"socket" => socket_dir + "/php-fastcgi-1.socket",
"bin-path" => "/usr/bin/php-cgi",
"max-procs" => 1,
"broken-scriptfilename" => "enable",
)
),
( "php-tcp" =>
(
"host" => "127.0.0.1",
"port" => 9999,
"check-local" => "disable",
"broken-scriptfilename" => "enable",
)
),
( "php-num-procs" =>
(
"socket" => socket_dir + "/php-fastcgi-2.socket",
"bin-path" => "/usr/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000",
),
"max-procs" => 5,
"broken-scriptfilename" => "enable",
)
),
)
7,根据 /srv/nfs/etc/lighttpd/conf.d/fastcgi.conf 第 12 行的说明,set cgi.fix_pathinfo = 1 in the /srv/nfs/etc/php.ini
8,开启 lighttpd
#lighttpd -f /etc/lighttpd/lighttpd.conf
9,PHP FastCGI 环境测试
#echo "<?php phpinfo();?>" > /srv/www/htdocs/index.php
本机可以通过如下命令查看结果
#curl http://127.0.0.1/index.php
或者也可以用 host 打开浏览器,访问 target IP 地址即可