Serving dynamically generated files

Hi everybody,

I’m trying to serve dynamically generated TXT files using PHP through
fastcgi_pass, but I have a problem that I can’t solve.
This is what I have done:

  • The TXT files are going to be used by a “GPRS printer” that read
    them
    from an url (ex: http://server/1234.txt)
  • I have configured Nginx to rewrite the request of this files to a
    PHP
    script
  • The PHP script returns the TXT contents and the same headers as for
    an
    static TXT file
  • If a load the URL on a browser, the content and the headers are
    fine.
    In fact, if I create the static TXT file with the same content of the
    PHP
    generated, my browser shows me exactly the same.

My problem is that the “printer” is not reading the TXT file correctly.
I know that the “printer” is working, because of two things:

  • If a create the static 1234.txt file, the “printer” prints it
    correctly
  • When the printer reads the dynamically generated TXT file, the PHP
    scripts also sends me an email, so I’m sure that the printer is
    connecting
    to the URL.

So, my question is… is there any difference of how Nginx serves static
files towards dynamically generated ones?

I’ve researched through internet and I cannot find an answer :frowning:

Thanks in advance!
Gregorio

13 февраля 2012, 21:42 от Gregorio Hernández Caso : > Hi everybody, > >
I’m trying to serve dynamically generated TXT files using PHP through >
fastcgi_pass, but I have a problem that I can’t solve. > This is what I
have done: > > - The TXT files are going to be used by a “GPRS printer”
that read them > from an url (ex: http://server/1234.txt) > - I have
configured Nginx to rewrite the request of this files to a PHP > script

  • The PHP script returns the TXT contents and the same headers as for
    an > static TXT file > - If a load the URL on a browser, the content and
    the headers are fine. > In fact, if I create the static TXT file with
    the same content of the PHP > generated, my browser shows me exactly the
    same. > > My problem is that the “printer” is not reading the TXT file
    correctly. > I know that the “printer” is working, because of two
    things: > > - If a create the static 1234.txt file, the “printer” prints
    it correctly > - When the printer reads the dynamically generated TXT
    file, the PHP > scripts also sends me an email, so I’m sure that the
    printer is connecting > to the URL. > > So, my question is… ¿is there
    any difference of how Nginx serves static > files towards dynamically
    generated ones? > > I’ve researched through internet and I cannot find
    an answer :frowning: First run “curl -v http://server/1234.txt” to make sure
    your PHP script is generating correct headers - in this case you should
    be sending “Content-Type: text/plain\r\n\r\n” before the actual content.
    A missing Content-Length header could also cause problems. Next, either
    enable debug level logging in nginx: error_log /var/log/nginx.error.log
    debug; or just use “nc -v -l 8080” on your server and have your “GPRS
    printer” connect to http://server:8080/1234.txt so you can check its
    request headers. Max