麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > Nginx > 正文

nginx+php出現(xiàn)No input file specified解決辦法

2024-08-30 12:30:17
字體:
供稿:網(wǎng)友

今天在自己本地的開發(fā)環(huán)境突然出現(xiàn)了No input file specified錯誤,反復檢查返現(xiàn)自己的配置文件和配置路徑以及權(quán)限都沒有問題。經(jīng)過反復的排查終于發(fā)現(xiàn)了問題,現(xiàn)將問題及解決分享如下:

問題原因分析

在GitHub上下載了一個開源的tp5項目,之前自己本地的網(wǎng)站運行都沒有問題。但是安裝了這個開源項目后就發(fā)現(xiàn)本地其他網(wǎng)站都無法訪問了。訪問就是No input file specified錯誤。在網(wǎng)上也找了解決辦法,但是都不是,看來這個錯誤有點兒詭異。 

后來反復嘗試,重啟電腦后問題得到解決但是再次運行下載的tp5開源項目后其他網(wǎng)站又出現(xiàn)了這樣的錯誤No input file specified 而且只有這一個網(wǎng)站運行沒有問題。 

據(jù)此將錯誤圈定在該開源項目的nginx配置文件中。再來看看該配置文件:

server {  listen 80;  server_name local.test.com;  access_log /data/wwwlogs/local.test.com.log combined;  error_log /data/wwwlogs/local.test.com_error.log error;  index index.html index.htm index.php;  root /data/php/test;  add_header X-Powered-Host $hostname;  fastcgi_hide_header X-Powered-By;  if (!-e $request_filename) {    rewrite ^/(.+?/.php)/?(.*)$ /$1/$2 last;    rewrite ^/(.*)$ /index.php/$1 last;  }  location ~ /.php($|/){    fastcgi_index  index.php;    fastcgi_pass  127.0.0.1:9000;    include     fastcgi_params;    set $real_script_name $fastcgi_script_name;    if ($real_script_name ~ "^(.+?/.php)(/.+)$") {      set $real_script_name $1;    }    fastcgi_split_path_info ^(.+?/.php)(/.*)$;    fastcgi_param PATH_INFO $fastcgi_path_info;    fastcgi_param SCRIPT_NAME $real_script_name;    fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;    fastcgi_param PHP_VALUE open_basedir=$document_root:/tmp/:/proc/;  }  location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)$ {    access_log off;    error_log  off;    expires   30d;  }  location ~ .*/.(js|css)?$ {    access_log  off;    error_log  off;    expires   12h;  }

在以上的配置中其他都是常規(guī)的配置。因為我使用cgi。在fastcgi參數(shù)中有一行可能大家也注意到了。

fastcgi_param PHP_VALUE open_basedir=$document_root:/tmp/:/proc/;

就是這句。這句的主要作用是設(shè)置fastcgi的可操作目錄從而防止跨站的,將open_basedir限定在了本項目的目錄和/tmp/以及/proc/中。

問題解決

剛剛說了是在配置的fastcgi配置中多了一句防止跨站的語句。那么這句話他其實是影響了整個fastcgi的參數(shù),這樣因為我的其他網(wǎng)站的路徑是/data/php/xxx/這樣的目錄,而不在本開源項目的目錄/data/php/test/所以fastcgi就無法找到。 
所以在這句之前加#注釋這句或者刪除這句重啟系統(tǒng)或重啟nginx就可以了。

線上部署的建議

那么到底要不要使用這句呢?在線上環(huán)境中當然是可以的。在線上項目部署中對于open_basedir中最好別使用$document_root這樣的變量。如果有多個項目在線上服務器中那么可以把所以項目放置在一個統(tǒng)一的目錄中。例如我的線上是wwwroot目錄下放置其他網(wǎng)站。例如/wwwroot/test1 /wwwroot/test2那么我可以配置為

fastcgi_param PHP_VALUE open_basedir=/wwwroot/:/tmp/:/proc/;

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到服務器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久久久久一区 | 国产精品热| 精国品产一区二区三区有限公司 | 91色琪琪电影亚洲精品久久 | 国产99久久久国产精品下药 | 久久精品国产精品亚洲 | 91成| 黑人日比视频 | av在线在线 | 久草在线视频首页 | 黄色av免费网站 | 宅男噜噜噜66一区二区 | 国产精品久久久久久久久久东京 | 欧美不卡 | 免费观看视频91 | 成人福利网 | 舌头伸进添的我好爽高潮网站 | 国产羞羞网站 | 宅男噜噜噜66一区二区 | av手机在线免费播放 | 日本高清在线免费 | 成人午夜视频在线观看免费 | 草逼一区| 亚洲综合视频网站 | 成人视屏免费看 | 亚洲成人免费视频在线 | 毛片免费大全短视频 | 小情侣嗯啊哦视频www | 成人免费一区二区三区 | 草莓视频久久 | 欧美精品免费一区二区三区 | 久久久久久久久久久综合 | 国产成人高清成人av片在线看 | 国产成人精品自拍视频 | 精品一区二区三区免费毛片 | 黄色毛片免费视频 | 国产亚洲高清视频 | 国产午夜免费 | 91在线视频导航 | 爱爱视频天天干 | av电影免费观看 |