protected function request(Code $code)
 {
     $file = $this->createTemporaryFile();
     $this->logger->info(sprintf('FastCGI: Dumped code to file: %s', $file));
     try {
         $code->writeTo($file);
         $environment = array('REQUEST_METHOD' => 'POST', 'REQUEST_URI' => '/', 'SCRIPT_FILENAME' => $file);
         $response = $this->client->request($environment, '');
         $this->logger->debug(sprintf('FastCGI: Response: %s', json_encode($response)));
         @unlink($file);
         return $response;
     } catch (\Exception $e) {
         @unlink($file);
         throw new \RuntimeException(sprintf('FastCGI error: %s', $e->getMessage()), $e->getCode());
     }
 }
Ejemplo n.º 2
0
function fastcgi_get_contents($url)
{
    $url = parse_url($url);
    if (!$url || !isset($url['path'])) {
        die("Malformed URI");
    }
    $req = '/' . basename($url['path']);
    if (isset($url['query'])) {
        $uri = $req . '?' . $url['query'];
    } else {
        $url['query'] = '';
        $uri = $req;
    }
    $client = new Client(isset($url['host']) ? $url['host'] : 'localhost', isset($url['port']) ? $url['port'] : 9000);
    $params = array('GATEWAY_INTERFACE' => 'FastCGI/1.0', 'REQUEST_METHOD' => 'GET', 'SCRIPT_FILENAME' => $url['path'], 'SCRIPT_NAME' => $req, 'QUERY_STRING' => $url['query'], 'REQUEST_URI' => $uri, 'DOCUMENT_URI' => $req, 'SERVER_SOFTWARE' => 'php/fcgiclient', 'REMOTE_ADDR' => '127.0.0.1', 'REMOTE_PORT' => '9985', 'SERVER_ADDR' => '127.0.0.1', 'SERVER_PORT' => '80', 'SERVER_NAME' => php_uname('n'), 'SERVER_PROTOCOL' => 'HTTP/1.1', 'CONTENT_TYPE' => '', 'CONTENT_LENGTH' => 0);
    return $client->request($params, false);
}
Ejemplo n.º 3
0
    } else {
        if (!is_writable($sock)) {
            die("UDS {$sock} is not writable\n");
        }
    }
} else {
    $url = parse_url($_SERVER['argv'][1]);
    $sock = false;
}
if (!$url || !isset($url['path'])) {
    die("Malformed URI");
}
$req = '/' . basename($url['path']);
if (isset($url['query'])) {
    $uri = $req . '?' . $url['query'];
} else {
    $url['query'] = '';
    $uri = $req;
}
if ($sock) {
    $client = new Client("unix://{$sock}", -1);
    echo "Call: {$uri} on UDS {$sock}\n\n";
} else {
    $host = isset($url['host']) ? $url['host'] : 'localhost';
    $port = isset($url['port']) ? $url['port'] : 9000;
    $client = new Client($host, $port);
    echo "Call: {$uri} on {$host}:{$port}\n\n";
}
$params = array('GATEWAY_INTERFACE' => 'FastCGI/1.0', 'REQUEST_METHOD' => 'GET', 'SCRIPT_FILENAME' => $url['path'], 'SCRIPT_NAME' => $req, 'QUERY_STRING' => $url['query'], 'REQUEST_URI' => $uri, 'DOCUMENT_URI' => $req, 'SERVER_SOFTWARE' => 'php/fcgiclient', 'REMOTE_ADDR' => '127.0.0.1', 'REMOTE_PORT' => '9985', 'SERVER_ADDR' => '127.0.0.1', 'SERVER_PORT' => '80', 'SERVER_NAME' => php_uname('n'), 'SERVER_PROTOCOL' => 'HTTP/1.1', 'CONTENT_TYPE' => '', 'CONTENT_LENGTH' => 0);
//print_r($params);
echo $client->request($params, false) . "\n";