kcgi icon indicating copy to clipboard operation
kcgi copied to clipboard

Accessing FastCGI parameters

Open sasanj opened this issue 6 years ago • 1 comments

Hi I need to know how to access FastCGI parameters (e.g. DOCUMENT_ROOT) in a fcgi handler. I can see that these parameters are read while handling a request, but it seems they are not being passed to the actual handler, for example via struct kreq.

Would you please help me with this? It would be very appreciated. Thanks

sasanj avatar Oct 01 '18 11:10 sasanj

You have to configure your server properly. (You have done it probably). For nginx, my case: ... location /fcgi/ { rewrite /fcgi/(.*) /$1 break; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param PATH_INFO $request_uri; fastcgi_pass unix:/var/www/socket; } ...

To understand how to do things, it can help you in you check the reggresion test in: kcgi-0.10.7/regress/

ibonso avatar Jan 28 '19 00:01 ibonso