Попытка создать простой скрипт 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 вместо вызова командной строки?