萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> nginx php空白頁 fastcgi

nginx php空白頁 fastcgi

今天安裝完nginx 後 發現html頁面能正常浏覽 但是php文件的頁面打開後是一篇空白 看php-fpm日志 看nginx日志都沒找到問題

上網搜索了半天終於解決了,在這做個記錄備忘

網上的一種說法是缺少這麼一句話在nginx的配置文件裡

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

這句話是干嘛的呢 其實他就是定義php中用到的服務器變量 也就是$_SERVER

http://wiki.nginx.org/NginxHttpFcgiModule 這個網址下有這麼一句話

This module allows Nginx to interact with FastCGI processes and control what parameters are passed to the process。

其實也就是服務器像你的處理php的cgi傳遞過去他需要的一些參數,而至少要有下面的兩個參數php才能執行起來

Below is an example of the minimally necessary parameters for PHP:

fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;

fastcgi_param QUERY_STRING $query_string;

Parameter SCRIPT_FILENAME is used by PHP for determining the name of script to execute, and QUERY_STRING contains the parameters of the request.

所以 我們在沒有定義SCRIPT_FILENAME這個系統變量的時候 php是沒法解釋執行的

這個變量的定義可以寫在nginx的配置文件nginx.conf裡 也可以寫在外部 用include的方式在nginx.conf裡包含進來。

copyright © 萬盛學電腦網 all rights reserved