PHPEye开源社区 » PHP项目运营与系统管理 » Lighttpd下如何同时使用不同版本的php
《Programming PHP》第二版上市
2007-5-14 15:38 nukq
Lighttpd下如何同时使用不同版本的php

同一web服务器上使用不同版本php,这种需求虽然不多,但绝非用不到

比如某个php文件需要一个特殊扩展,而该扩展需要特定的php版本.

下面讲一下这个如何在lighttpd下办到,以根据url规则为例:

在lighttpd.conf文件中加入如下配置:

[code]$HTTP["url"] =~ "^/webadmin/" {

fastcgi.server = ( ".php" =>
  (( "socket" => "/tmp/php-fastcgi.socket.2",
     "bin-path" => "/another-php-version-path/php-cgi",
     "min-procs" => 1,
     "max-procs" => 1,
     "max-load-per-proc" => 4,
     "bin-environment" => (
        "PHP_FCGI_CHILDREN" => "16",
        "PHP_FCGI_MAX_REQUESTS" => "10000" ),
      "bin-copy-environment" => (
        "PATH", "SHELL", "USER" ),
      "broken-scriptfilename" => "enable",
     "idle-timeout" => 20
  ))
)
}[/code]


解释一下:
$HTTP["url"] =~ "^/webadmin/"   表示以 /webadmin/开头的所有url 都会满足条件进入另一个fastcgi后端程序.
( =~ 是正则匹配, 其他还有 ==  !=  !~ 的比较模式, 可以看ligtthpd的文档 )

这里要主意一点, socket那一项不能跟已有的其他fastcgi配置相同,
"socket" => "/tmp/php-fastcgi.socket[b].2[/b]"

"bin-path" => 为你另一版本的php-cgi所在路径

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.