0
試圖製作一個簡單的Perl腳本,查看GET參數以確定要使用哪個php版本,然後傳遞請求。這裏是整個腳本:Perl CGI腳本將請求傳遞到PHP
#!/usr/bin/perl
use FCGI;
$cnt = 0;
local ($buffer, @pairs, $pair, $name, $value);
while(FCGI::accept >= 0){
$php = "php";
$ENV{PHP_FCGI_CHILDREN}=3;
$ENV{PHP_FCGI_MAX_REQUESTS}=5000;
$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
if($name == "php") {
$php = "php".$value;
}
}
print "Content-Type: text/html\r\n\r\n";
print `$php $ENV{PATH_TRANSLATED}`;
}
的想法是,PHP版本可以用GET參數進行切換...這部分似乎當我phpversion()
測試工作正常。
所以這件事似乎是「工作」,但一個簡單的<?php phpinfo(); ?>
測試文件輸出一個純字符串,而不是格式化的HTML。它給出了確切的輸出,就像phpinfo()從命令行運行一樣,因爲這正是發生的事情。
所以兩個部分,我的問題是
- 難道這實際上是一個問題嗎?
- 我該如何「將請求傳遞給PHP」,而不是調用命令行?