[Catalyst] Canot get application working on IIS7 via FastCGI

Craig Chant craig at homeloanpartnership.com
Thu Oct 18 13:15:55 GMT 2012


Hi David / Adam,

In the end I gave up with any of the so far provided suggestion, I've wasted hours hunting for logs that just don't seem to exist.

I'm not sure where you believe any of this output is going, but I've searched every IIS log, windows event viewer, searched any file ending in .log and even searched the entire server for any file modified with today's date. I cannot find any file with the data you seem to think should exist. Where do you believe STDERR goes on Windows IIS7?

In the end I rolled my own 'output to file' handler it was far quicker and easier!

This is output for the standard URL with no path (root)

******* $env

$VAR1 = {
          'psgi.multiprocess' => 1,
          'SCRIPT_NAME' => '',
          'PATH_INFO' => '/',
          'HTTP_ACCEPT' => 'text/html, application/xhtml+xml, */*',
          'REQUEST_METHOD' => 'GET',
          'psgi.multithread' => '',
          'SCRIPT_FILENAME' => 'C:\\Websites\\ members\\root',
          'INSTANCE_META_PATH' => '/LM/W3SVC/49',
          'HTTPS_SERVER_ISSUER' => '',
          'APP_POOL_CONFIG' => 'C:\\inetpub\\temp\\apppools\\ Members\\ Members.config',
          'SERVER_SOFTWARE' => 'Microsoft-IIS/7.5',
          'AUTH_PASSWORD' => '',
          'CERT_SERIALNUMBER' => '',
          'HTTPS_SECRETKEYSIZE' => '',
          'AUTH_TYPE' => '',
          'HTTP_USER_AGENT' => 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)',
          'QUERY_STRING' => '',
          'REMOTE_PORT' => '59984',
          'CERT_COOKIE' => '',
          'URL' => '/',
          'HTTP_ACCEPT_LANGUAGE' => 'en-GB',
          'FCGI_ROLE' => 'RESPONDER',
          'HTTPS_KEYSIZE' => '',
          'CONTENT_TYPE' => '',
          'CERT_SUBJECT' => '',
          'LOCAL_ADDR' => 'xxx.xxx.xxx.xxx',
          'psgi.streaming' => 1,
          'IIS_UrlRewriteModule' => '7.1.0871.0',
          'GATEWAY_INTERFACE' => 'CGI/1.1',
          'psgi.version' => [
                              1,
                              1
                            ],
          'HTTPS' => 'off',
          'DOCUMENT_ROOT' => 'C:\\Websites\\ members\\root',
          'REMOTE_HOST' => 'xxx.xxx.xxx.xxx',
          'psgi.run_once' => '',
          'APPL_PHYSICAL_PATH' => 'C:\\Websites\\ members\\root\\',
          'PATH_TRANSLATED' => 'C:\\Websites\\ members\\root',
          'CERT_ISSUER' => '',
          'SERVER_NAME' => 'mydomain.com',
          'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
          'HTTP_CONNECTION' => 'Keep-Alive',
          'CONTENT_LENGTH' => '0',
          'INSTANCE_ID' => '49',
          'AUTH_USER' => '',
          'APPL_MD_PATH' => '/LM/W3SVC/49/ROOT',
          'CERT_FLAGS' => '',
          'LOGON_USER' => '',
          'REMOTE_USER' => '',
          'SERVER_PORT_SECURE' => '0',
          'INSTANCE_NAME' => 'MEMBERS',
          'SERVER_PORT' => '80',
          'REMOTE_ADDR' => 'xxx.xxx.xxx.xxx',
          'SERVER_PROTOCOL' => 'HTTP/1.1',
          'psgi.errors' => bless( \*Symbol::GEN3, 'IO::Handle' ),
          'REQUEST_URI' => '/',
          'psgi.nonblocking' => '',
          'HTTPS_SERVER_SUBJECT' => '',
          'APP_POOL_ID' => 'Members',
          'psgi.url_scheme' => 'http',
          'psgix.harakiri' => '',
          'HTTP_HOST' => 'mydomain.com',
          'psgi.input' => bless( \*Symbol::GEN1, 'IO::Handle' )
        };

*****->base

$VAR1 = bless( do{\(my $o = 'http://mydomain.com/')}, 'URI::http' );

*****->uri

$VAR1 = bless( do{\(my $o = 'http:// mydomain.com/')}, 'URI::http' );


Here is the output for the /librarydocs path.


******* $env

$VAR1 = {
          'psgi.multiprocess' => 1,
          'SCRIPT_NAME' => '',
          'PATH_INFO' => '/',
          'HTTP_ACCEPT' => 'text/html, application/xhtml+xml, */*',
          'REQUEST_METHOD' => 'GET',
          'psgi.multithread' => '',
          'SCRIPT_FILENAME' => 'C:\\Websites\\members\\root\\librarydocs',
          'INSTANCE_META_PATH' => '/LM/W3SVC/49',
          'HTTPS_SERVER_ISSUER' => '',
          'APP_POOL_CONFIG' => 'C:\\inetpub\\temp\\apppools\\Members\\Members.config',
          'SERVER_SOFTWARE' => 'Microsoft-IIS/7.5',
          'AUTH_PASSWORD' => '',
          'CERT_SERIALNUMBER' => '',
          'HTTPS_SECRETKEYSIZE' => '',
          'AUTH_TYPE' => '',
          'HTTP_USER_AGENT' => 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)',
          'QUERY_STRING' => '',
          'REMOTE_PORT' => '60106',
          'CERT_COOKIE' => '',
          'URL' => '/librarydocs',
          'HTTP_ACCEPT_LANGUAGE' => 'en-GB',
          'FCGI_ROLE' => 'RESPONDER',
          'HTTPS_KEYSIZE' => '',
          'CONTENT_TYPE' => '',
          'CERT_SUBJECT' => '',
          'LOCAL_ADDR' => 'xxx.xxx.xxx.xxx',
          'psgi.streaming' => 1,
          'IIS_UrlRewriteModule' => '7.1.0871.0',
          'GATEWAY_INTERFACE' => 'CGI/1.1',
          'psgi.version' => [
                              1,
                              1
                            ],
          'HTTPS' => 'off',
          'DOCUMENT_ROOT' => 'C:\\Websites\\members\\root',
          'REMOTE_HOST' => 'xxx.xxx.xxx.xxx',
          'psgi.run_once' => '',
          'APPL_PHYSICAL_PATH' => 'C:\\Websites\\members\\root\\',
          'PATH_TRANSLATED' => 'C:\\Websites\\members\\root\\librarydocs',
          'CERT_ISSUER' => '',
          'SERVER_NAME' => 'mydomain.com',
          'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
          'HTTP_CONNECTION' => 'Keep-Alive',
          'INSTANCE_ID' => '49',
          'CONTENT_LENGTH' => '0',
          'AUTH_USER' => '',
          'APPL_MD_PATH' => '/LM/W3SVC/49/ROOT',
          'CERT_FLAGS' => '',
          'LOGON_USER' => '',
          'REMOTE_USER' => '',
          'SERVER_PORT_SECURE' => '0',
          'INSTANCE_NAME' => 'MEMBERS',
          'SERVER_PORT' => '80',
          'REMOTE_ADDR' => 'xxx.xxx.xxx.xxx',
          'SERVER_PROTOCOL' => 'HTTP/1.1',
          'psgi.errors' => bless( \*Symbol::GEN3, 'IO::Handle' ),
          'REQUEST_URI' => '/librarydocs',
          'psgi.nonblocking' => '',
          'HTTPS_SERVER_SUBJECT' => '',
          'APP_POOL_ID' => 'Members',
          'psgi.url_scheme' => 'http',
          'psgix.harakiri' => '',
          'HTTP_HOST' => 'mydomain.com',
          'psgi.input' => bless( \*Symbol::GEN1, 'IO::Handle' )
        };

*****->base

$VAR1 = bless( do{\(my $o = 'http://mydomain.com/')}, 'URI::http' );

*****->uri

$VAR1 = bless( do{\(my $o = 'http:// mydomain.com/')}, 'URI::http' );


Hopefully you now have the information you need to advice on the problem.

Let me know if you need anything else.

Kind regards,

Craig.

-----Original Message-----
From: David Schmidt [mailto:davewood at gmx.at]
Sent: 18 October 2012 12:34
To: The elegant MVC web framework
Subject: Re: [Catalyst] Canot get application working on IIS7 via FastCGI

> As for the Data::Dumper information you requested, you will need to give me more guidance because I can't get it to output anything?
>
> Firstly I cannot find the context variable '$c' , there is a '$ctx' , I assume this is what was meant?
>
> I added
>
> dump($env);
> dump($ctx->request->uri);
> dump($ctx->request->base);

I am just guessing here but what I think you ought to do is

1)
enable debug output of your application by adding the -Debug flag to your use Catalyst statement

2)
use Data::Dumper;
$ctx->log->debug(Dumper($ctx->request->uri))
...

_______________________________________________
List: Catalyst at lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/
This Email and any attachments contain confidential information and is intended solely for the individual to whom it is addressed. If this Email has been misdirected, please notify the author as soon as possible. If you are not the intended recipient you must not disclose, distribute, copy, print or rely on any of the information contained, and all copies must be deleted immediately. Whilst we take reasonable steps to try to identify any software viruses, any attachments to this e-mail may nevertheless contain viruses, which our anti-virus software has failed to identify. You should therefore carry out your own anti-virus checks before opening any documents. HomeLoan Partnership will not accept any liability for damage caused by computer viruses emanating from any attachment or other document supplied with this e-mail. HomeLoan Partnership reserves the right to monitor and archive all e-mail communications through its network. No representative or employee of HomeLoan Partnership has the authority to enter into any contract on behalf of HomeLoan Partnership by email. HomeLoan Partnership is a trading name of H L Partnership Limited, registered in England and Wales with Registration Number 5011722. Registered office: 26-34 Old Street, London, EC1V 9QQ. H L Partnership Limited is authorised and regulated by the Financial Services Authority.


More information about the Catalyst mailing list