Nginx with php-fpm generating blank page

I struggled a long time trying to figure out why my nginz + php-fpm setup was not working. I could tell that the gateway was fine and I was getting a HTTP 200 OK response, but the output was blank and there were no illuminating entries in either the nginx or php-fpm logs.

After a ton of research, I found the hint that I needed here:

https://bbs.archlinux.org/viewtopic.php?pid=903811#p903811

Essentially, I needed to set the SCRIPT_FILENAME param like so:

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Php_fpm needs this so that it knows the path to the PHP file. You may need to set this param differently according to where you store your PHP files.

The default nginx setup I used includes a fastcgi_params file and a fastcgi.conf file. The fastcgi.conf file defines SCRIPT_FILENAME whereas the fastcgi_params does not. My guess is that the fastcgi.conf is not being used, which is why SCRIPT_FILENAME was not set.

  • avontz

    live saver =)

  • Pete

    Thanks a bunch!

  • Rodrigo Fonseca

    Thank you!

  • http://nutricy.com/ Fagner Sá de Souza

    Save my life

  • https://www.cooperati.com.br Rodrigo Ramos

    thank bro, u save my day!!

  • http://ytalwar.com Yashodhan Talwar

    Amazing. Thank you!

  • Martie

    After upgrading my (before correct working) Ubuntu Linux server i got this problem too :)
    Amazing, just added the SCRIPT_FILENAME line, restarted the nginx service als all php pages working again.
    Thank you for sharing your knowledge. It saved my server.

  • moon

    I literally struggled with this for an entire day. Thank you so much! Wish I could give this post stars or something so that it returns as the first solution for any other frustrated googlers.

  • http://beutelevision.com Thomas Beutel

    I’m glad it helped.

  • http://beutelevision.com Thomas Beutel

    My pleasure, I’m glad it helped. Thank you for the offer of stars, that means a lot to me. If you have a blog you can link to this post or you can tweet this post. That would really help others find this.