日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

解决nginx+php二级页面显示空白的问题

發(fā)布時間:2025/4/16 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决nginx+php二级页面显示空白的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

遷移官網(wǎng)商城的發(fā)現(xiàn)主頁的二級界面顯示空白頁,此https商城網(wǎng)站

后修改nginx配置,顯示正常

添加

location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

這個配置的意思是 在瀏覽器中訪問的.php文件,實(shí)際讀取的是?$document_root(網(wǎng)站根目錄)下的.php文件 -- 也就是說當(dāng)訪問127.0.0.1/index.php的時候,需要讀取網(wǎng)站根目錄下面的index.php文件,如果沒有配置這一配置項(xiàng)時,nginx不回去網(wǎng)站根目錄下訪問.php文件,所以返回空白

?

nginx+php四個常見、重要的配置項(xiàng)

fastcgi_pass

作用:nginx本身不處理php請求,配置文件中將.php結(jié)尾的請求通過FashCGI交給PHP-FPM處理,PHP-FPM是PHP的一個FastCGI管理器

作用域:location, if in location

設(shè)置FastCGI服務(wù),其值可以是一個域名、IP地址:端口、或者是一個Unix的Socket文件。

Nginx連接fastcgi的方式有2種:TCP和unix domain socket

TCP是使用TCP端口連接127.0.0.1:9000

Socket是使用unix domain socket連接套接字/dev/shm/php-cgi.sock(很多教程使用路徑/tmp,而路徑/dev/shm是個tmpfs,速度比磁盤快得多)

# TCP形式傳遞 fastcgi_pass localhost:9000;# Socket形式傳遞 fastcgi_pass unix:/tmp/fastcgi.socket;# 傳遞給集群 upstream cloud {server cgi_1.cloud.com;server cgi_2.cloud.com; } fastcgi_pass cloud;

 

fastcgi_param

作用域:http, server, location

設(shè)置一個傳遞給FastCGI服務(wù)的參數(shù),可以是文本或者是變量。

# 例如在接入層Nginx上面?zhèn)鬟f如下5個參數(shù) 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上面,例如PHP-CGI上面就可以通過$_SERVER這個超全局變量獲取。 $_SERVER['REMOTE_ADDR'] $_SERVER['REMOTE_PORT'] $_SERVER['SERVER_ADDR'] $_SERVER['SERVER_PORT'] $_SERVER['SERVER_NAME']
fastcgi_param 文件詳解 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#腳本文件請求的路徑,也就是說當(dāng)訪問127.0.0.1/index.php的時候,需要讀取網(wǎng)站根目錄下面的index.php文件,如果沒有配置這一配置項(xiàng)時,nginx不回去網(wǎng)站根目錄下訪問.php文件,所以返回空白 fastcgi_param QUERY_STRING $query_string; #請求的參數(shù);如?app=123 fastcgi_param REQUEST_METHOD $request_method; #請求的動作(GET,POST) fastcgi_param CONTENT_TYPE $content_type; #請求頭中的Content-Type字段 fastcgi_param CONTENT_LENGTH $content_length; #請求頭中的Content-length字段。fastcgi_param SCRIPT_NAME $fastcgi_script_name; #腳本名稱 fastcgi_param REQUEST_URI $request_uri; #請求的地址不帶參數(shù) fastcgi_param DOCUMENT_URI $document_uri; #與$uri相同。 fastcgi_param DOCUMENT_ROOT $document_root; #網(wǎng)站的根目錄。在server配置中root指令中指定的值 fastcgi_param SERVER_PROTOCOL $server_protocol; #請求使用的協(xié)議,通常是HTTP/1.0或HTTP/1.1。fastcgi_param GATEWAY_INTERFACE CGI/1.1; #cgi 版本 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; #nginx 版本號,可修改、隱藏fastcgi_param REMOTE_ADDR $remote_addr; #客戶端IP fastcgi_param REMOTE_PORT $remote_port; #客戶端端口 fastcgi_param SERVER_ADDR $server_addr; #服務(wù)器IP地址 fastcgi_param SERVER_PORT $server_port; #服務(wù)器端口 fastcgi_param SERVER_NAME $server_name; #服務(wù)器名,域名在server配置中指定的server_namefastcgi_param PATH_INFO $path_info; #可自定義變量-- PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; 

fastcgi_index

作用域:http, server, location

當(dāng)請求以/結(jié)尾的時候,會將請求傳遞給所設(shè)置的index.php文件處理。

fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;

fastcgi_split_path_info

作用域:location

Nginx默認(rèn)獲取不到PATH_INFO的值,得通過fastcgi_split_path_info指定定義的正則表達(dá)式來給$fastcgi_path_info賦值。

?目的:讓php能夠解析類似這樣的url?http://www.xxx.com/index.php/abc/def
在默認(rèn)情況下我們打開這個url時會出現(xiàn)無法找到該頁。這就需要在nginx做path_info設(shè)置了。
原理:把index.php做為php執(zhí)行的腳本,把/abc/def做為參數(shù)傳給php-cgi執(zhí)行。
實(shí)現(xiàn):nginx版本0.7.31以上支持fastcgi_split_path_info,這個指令可以設(shè)置SCRIPT_FILENAME和PATH_INFO的變量,用正則表達(dá)式將這兩部分分開.
例子:我們在nginx配置文件"local"區(qū)塊中加入以下代碼。

?

location ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }重啟nginx服務(wù) /usr/local/nginx/sbin/nginx -s reload

 當(dāng)nginx處理http://www.xxx.com/index.php/abc/def請求時,將會把"index.php"做為php的腳本,/abc/def做為index.php腳本的參數(shù)提交給php-cgi執(zhí)行。

 

  

?

轉(zhuǎn)載于:https://www.cnblogs.com/jimmy-xuli/p/9015639.html

總結(jié)

以上是生活随笔為你收集整理的解决nginx+php二级页面显示空白的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲熟女乱色综合亚洲小说 | 国产精品一区二区三区高潮 | 久久精品午夜 | 国产欧美在线看 | 殴美性生活 | a天堂视频 | 日韩成人在线观看 | 依人成人综合网 | 婷婷在线观看视频 | 国产艳俗歌舞表演hd | 女同av在线 | 91精品国产99 | 色偷偷五月天 | 国产精品天干天干 | 黄色免费一级 | 色射视频| 欧美三级午夜理伦 | 免费成人深夜夜行网站视频 | 成人片网址| 日本aⅴ视频 | 成人导航网站 | 福利电影在线播放 | 国产精品免费av一区二区 | 日日爽夜夜操 | 久久97人妻无码一区二区三区 | 亚洲av成人精品午夜一区二区 | 男女精品视频 | 国产精品偷伦视频免费观看了 | 苍井空浴缸大战猛男120分钟 | 国产成人精品视频在线 | 香蕉久久久久 | 高清成人 | 用力抵着尿进去了h | 黄色免费在线看 | 黑人导航 | 欧美另类xxx | 亚洲视频在线看 | 日日操夜夜操视频 | 中文字幕乱码免费 | 麻豆短视频在线观看 | 国产精品视频一二三区 | 色视频一区二区 | 午夜久久剧场 | 国产女厕一区二区三区在线视 | 欧美精品系列 | 日本性视频网站 | 99久久99九九99九九九 | 中文字幕乱码人妻一区二区三区 | 免费午夜视频在线观看 | 国产第20页 | 美女久久精品 | 久久精品人人爽 | 亚洲av无码乱码国产麻豆 | 精品国自产在线观看 | 成年人在线视频观看 | 韩国一区二区在线观看 | 久久国产一| 日本黄色片. | 欧美一区二区三区免费在线观看 | 男生和女生靠逼视频 | 久久高清内射无套 | 一二区精品 | 福利一二区 | 岛国av免费在线 | 成人午夜影院在线观看 | 久久精品精品 | 国产aⅴ| 一本到久久 | 97超碰人人模人人人爽人人爱 | 在线免费黄色 | 欧美在线精品一区二区三区 | 无码人妻精品一区二区蜜桃色欲 | 天天操女人 | 久久国产乱 | 木下凛凛子av一区二区三区 | 蜜臀久久99精品久久一区二区 | 国产av成人一区二区三区高清 | 久久精选| 久久久久人妻一区精品 | yy4138理论片动漫理论片 | 亚洲欧洲精品一区二区三区 | av在线不卡观看 | 国产精品无码中文 | 爱情岛亚洲首页论坛 | 三级国产在线观看 | 成人免费影院 | 亚洲天堂国产 | 国产精品人妻 | 国产午夜激情视频 | 免费成人深夜夜行p站 | 高清一级片 | 日少妇b | 欧美性猛交xxxx乱大交3 | 91九色视频 | 欧美一级性生活视频 | 亚洲女人在线 | 欧美日韩免费高清 | 毛片毛片女人毛片毛片 | 欧美高清videos高潮hd |