最新ThinkPHP V5在iis、nginx、apache下的安裝過程、包含偽靜態引起的錯誤
本文適用於以下問題
Apache出現No input file specified提示?
PHPWAMP出現No input file specified提示?
安裝網站程式出現No input file specified提示?
Apache如何設定偽靜態,Nginx如何設定偽靜態,iis如何設定偽靜態?
友情提示:案例採用的程式是TP5,其他php程式請按照此方式對號入座!
針對不同的WEB伺服器,ThinkPHP V5需要的偽靜態內容是不一樣的,
而且在Apache伺服器上,模組化執行與採用FCGI執行方式的偽靜態也有差別
友情提示:案例中用的偽靜態是TP5的,如果你是其他php程式,請使用對應程式的偽靜態檔案。
-----------apache、nginx、iis、安裝TP5之Apache篇開始-----------
特別一提的地方(重要)
在Apache伺服器上,採用模組化執行與採用FCGI執行方式的偽靜態也是有差別的、
所以有的人在安裝ThinkPHP V5的時候就會出現No input file specified.的錯誤提示
下面這個偽靜態是Apache採用模組執行方式時需要配置的偽靜態內容,詳細的執行方式可檢視我以往的部落格內容
(如果您當前的Apache採用Fcgi模式執行PHP,那麼這個偽靜態就會出現“No input file specified.”的錯誤提示)
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
上面的偽靜態為什麼有的人能正常使用,而有的人使用確出現“No input file specified.”的提示呢?
那是因為Apache只有採用fastcgi模式的時候,才出現不能識別PATH_INFO的情況,所以在windows下很多人安裝ThinkPHP V5的時候都沒出現這個問題,因為大部分windows使用者安裝的Apache是採用模組化執行方式的,而在linux上以及在windows系統下采用FCGI執行模式的都出現了“No input file specified.”提示。
如果你採用FCGI執行方式的時候出現此類提示,只需要把
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
改寫成
RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L] 即可,改寫後的偽靜態如下(注意E=PATH_INFO:$1)
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]
</IfModule>
友情提示:PHPWAMP支援多模式,主介面預設站點是模組化執行方式,站點管理是Fcgi模式,
所以主介面的預設站點可以直接使用ThinkPHP V5預設的偽靜態,而站點管理需要使用修改後的偽靜態。
選擇相關設定切換php版本後選擇這裡啟動Apache2.4
選擇這裡預設的三個版本都可以啟動Apache2.4,這裡選擇的版本僅僅是預設站點的版本
預設站點採用的常見的模組執行方式,所以可以直接使用上面第一個未經改動的偽靜態檔案。
啟動後在站點管理介面新增站點,複製上面修改過的偽靜態進去就可以了,因為站點管理是FCGI模式
在新增站點的時候,網站根目錄應該選擇public資料夾,這樣就可以開啟預設的ThinkPHP V5頁面了。
如果你在上個步驟使用預設的偽靜態,由於站點管理是FCGI模式,那麼就會出現下面的No input file specified.”提示
所以我們必須改用修改後的偽靜態,啟用修改後的偽靜態就可以正常開啟http://localhost:8033/index/index/index這個頁面了
-----------apache、nginx、iis、安裝TP5之nginx篇開始-----------
在Nginx伺服器上安裝ThinkPHP V5的偽靜態如下所示
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
具體流程如下圖,點選選單相關設定,然後我們先啟用Nginx伺服器
開啟nginx站點管理新增站點,網站目錄選擇public資料夾,就不用在url後面新增public訪問了
新增站點後,我們會發現新增的站點根目錄自動生成了屬於Nginx伺服器的偽靜態檔案“nginx.htaccess”
開啟此偽靜態檔案,裡面預設集成了常見網站的偽靜態,找到屬於TP5的偽靜態,去掉前面#號後即可(重啟Nginx)
你也可以把裡面預設的偽靜態全部刪掉,直接複製前面我提供的Nginx下TP5的偽靜態也是可行的(設定須重啟Nginx)
如果你的Nginx偽靜態設定錯誤,通常訪問如下路徑“http://localhost:8088/index/index/index/”將會出現404錯誤
如果正確的設定了Nginx下TP5程式的偽靜態,開啟該頁面才能正常顯示
-----------apache、nginx、iis、安裝TP5之iis篇開始-----------
在iis伺服器上安裝ThinkPHP V5的偽靜態還需要額外的這幾個步驟
1、伺服器需要安裝:URL Rewrite
2、在IIS的高版本下面可以配置web.Config,在中間新增rewrite節點:
加在 <system.webServer>裡面就可以了
<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
具體步驟,開啟PHPWAMP的相關設定,點選IIS站點管理
此IIS站點管理可以作業系統內建的IIS伺服器,快速新增PHP站點,可以多個PHP版本同時執行
新增後的站點可以在phpwamp的iis站點管理進行修改,也可以在系統的iis管理器裡面修改,通用。
新增一個iis站點,php版本任意選,而且還可以自定義php版本,支援32位/64位PHP任選。
新增站點後,就會發現新增的站點根目錄自動生成了屬於IIS伺服器的偽靜態檔案“web.config”
新增網站後重啟iis,然後訪問路徑http://localhost:8088/index/index/index會出現404,因為還沒設定偽靜態web.config檔案
在設定偽靜態web.config檔案之前,我們必須先安裝偽靜態模組,在前面提供的urlrewrite2.exe檔案下載地址下載後,
進行urlrewrite2.exe的安裝,安裝完成後需要重啟動電腦,然後匯入IIS伺服器下TP5的偽靜態即可,下面繼續詳細步驟
安裝偽靜態可能出現的原因與解決方案
如果安裝偽靜態時提示出現了已安裝,你可以搜尋以下檔案,刪掉“rewrite.dll”檔案即可,該檔案一般在C:\Windows\System32\inetsrv目錄下
友情提示:安裝偽靜態後最好是重啟一下電腦,如果安裝偽靜態過程中遇到任何問題,可按照此步驟重灌偽靜態模組
安裝完偽靜態後,我們點選此處開啟系統的iis管理器
開啟後就會發現如下圖示,多了“URL重寫”這個圖示,說明安裝好了偽靜態模組。
安裝偽靜態模組成功之後,就可以在網站根目錄的web.config檔案裡面新增上面的偽靜態規則了,
早在前面我們新增站點的時候已經自動在站點根目錄下面生成web.config檔案了,如下圖紅框所示。
我們可以直接開啟它,新增上面的偽靜態內容即可,修改檔案web.Config,
在中間新增rewrite節點,加在 <system.webServer>裡面就可以了,如下圖新增
儲存後重新整理http://localhost:8088/index/index/index,我們就發現能正常開啟,不再出現404提示了。
至此,Nginx、Apache、IIS三大主流WEB伺服器設定偽靜態的詳細過程講解完畢,
如果按照操作出現錯誤,請多次熟讀本文中的內容,不要只看圖片,文字敘述才是重點。
本文采用的是PHPWAMP_IN2全能自定義環境,可一鍵自定義Apache、Nginx、PHP、Mysql版本。
相關推薦
最新ThinkPHP V5在iis、nginx、apache下的安裝過程、包含偽靜態引起的錯誤
本文適用於以下問題Apache出現No input file specified提示?PHPWAMP出現No input file specified提示?安裝網站程式出現No input file specified提示?Apache如何設定偽靜態,Nginx如何設定偽靜態
Apache下使用rewrite實現discuz偽靜態的配置
偽靜態簡介 偽靜態作用 使用rewrite配置偽靜態 Apache下使用rewrite實現discuz偽靜態的配置1、偽靜態簡介及作用偽靜態是相對真實靜態來講的,通常我們為了增強搜索引擎的友好面,都將文章內容生成靜態頁面,但是有的朋友為了實時的顯示一些信息。或者還想運用動態腳本解決一些問題。不能用
IIs、Nginx、Apache三大主流web服務器偽靜態的詳細設置過程
IIs Nginx Apache 偽靜態 偽靜態什麽設置 此文章裏面的內容就包含了IIs、Nginx、Apache三大主流web服務器偽靜態詳細的設置。 文章地址http://blog.51cto.com/lccee/2068828IIs、Nginx、Apache三大主流web服務器偽靜態
簡析 Tomcat 、Nginx 與 Apache 的區別
簡析 Tomcat 、Nginx 與 Apache 的區別 本文講的是簡析 Tomcat 、Nginx 與Apache的區別, 經常在用 apache 和 tomcat 等這些伺服器,可是總感覺還是不清楚他們之間有什麼關係,在用 tomcat 的時候總出現 apache,總是感到迷惑。這可能是很多初學伺服
web伺服器&應用伺服器(Apache、Tomcat、nginx) Apache HTTP Server,我們常常稱之為httpd,即常說的Apache。它是目前最流行的web伺服器。
現在也沒有特別搞懂他們之間的區別,只是有個大概的理解,可能會有不對的地方,隨時更新吧。 前提得搞明白代理伺服器和反向代理伺服器的區別。 一、web伺服器 Apache HTTP Server,我們常常稱之為httpd,即常說的Apache。它是目前最流行的web伺服器。 Apache
在Docker下安裝Tomcat、nginx、mysql
安裝Tomcat #搜尋tomcat映象 docker search tomcat #拉取tomcat映象 docker pull tomcat #根據映象啟動tomcat容器 docker run --name tomcat1 -d -p 808
window下安裝nvm、node.js、npm的步驟
http cnp node 自帶 ack pre 最新 test 通過 1.下載nvm(nodejs版本管理工具) https://github.com/coreybutler/nvm-windows/releases 下載nvm-noinstall.zip,解壓即可使用2
超多經典 canvas 實例,動態離子背景、移動炫彩小球、貪吃蛇、坦克大戰、是男人就下100層、心形文字等等等
ntb contex lin 如果 maxwidth sel 容器 操作 reat 超多經典 canvas 實例 普及:<canvas> 元素用於在網頁上繪制圖形。這是一個圖形容器,您可以控制其每一像素,必須使用腳本來繪制圖形。 註意:IE 8 以及更早的版本不
centos下安裝JDK、TOMCAT
tomcat net nbsp log jin blank wget mirrors csdn JDK安裝配置:http://blog.csdn.net/hui_2016/article/details/69941850 JDK安裝文件:在MAC電腦裏或者百度雲裏面
十七、vim介紹、vim顏色顯示和移動光標、vim一般模式下移動光標、vim一般模式下復制、剪切和粘
vim介紹 vim一般模式 十七、vim介紹、vim顏色顯示和移動光標、vim一般模式下移動光標、vim一般模式下復制、剪切和粘貼一、vim介紹vim:vi的升級版,區別就是:vi在編輯文本時不會顯示顏色,而vim會。它的配置文件:/etc/vimrc、一些高級的功能可在這個配置文件/root/.vi
Linux centosVMware Vim介紹、vim顏色顯示和移動光標、vim一般模式下移動光標、vim一般模式下復制、剪切和粘貼
vim swd vmw 默認 復制粘貼 passwd roo vim配置文件 -bash 一、Vim介紹 vim 是一款功能強大的文本編輯器,是vi的升級版,帶有顏色顯示, 默認有三種模式:一般模式, 命令模式, 編輯模式 安裝Vim [root@davery ~]#
阿里雲CentOS7.X下安裝JAVA、Tomcat、MySQL
一、安裝前的準備 1、遠端登入阿里雲賬號,在根目錄下面建立兩個資料夾,分別命名為software和app。其中software資料夾用來存放軟體安裝包,app作為軟體的安裝目錄。 2、將軟體源做成阿里雲的。 操作步驟如下: 1)備份 mv /etc/yum.
win64下安裝python、numpy、scipy、matplotlib
1.下載安裝Python 官網地址: https://www.python.org/ftp/python/2.7.13/python-2.7.13.amd64.msi 雙擊執行python-2.7.13.amd64.m
windows下安裝cygwin、Clion中使用編譯器cygwin
windows下安裝cygwin: 從官網https://cygwin.com/install.html上下載cygwin安裝程式,由於我的系統是64位,故下載setup-x86_64.exe。 下載完成後,開啟程式。 選擇install from internet。下一步。
一、Cent OS 7 下安裝JDK環境(免安裝版)
環境:Cent OS 7 JDK版本:jdk-8u162-linux-x64.tar.gz [PS:如需資源,請私信博主] 1、新建資料夾並複製JDK [[email protect
Git-入門教程(二)-Linux、MacOS和Windows下安裝與使用
0.摘要 本文主要介紹在Linux、MacOS和Windows三種系統下Git的安裝與使用,具體的Git命令和詳細使用方法在其他部落格中講解。 1.Linux下的安裝與使用 CentOS:使用yum安裝git yum install -y git -y引數:安裝
linux下安裝jdk、tomcat、redis等
一、 安裝JDK 1.1 用JDK安裝包安裝 檢視是否已經安裝JDK:rpm -qa | grep -i java 若有則刪除:rpm -e --nodeps java-xxx,刪除所有相關的java 下載jdk8安裝包,將gz壓縮檔案放到指定目錄如/usr/local,解壓:tar -zx
CentOS下安裝fftw、atlas和blas庫
給大家推薦個網站 https://pkgs.org 這個網站有各種安裝包 幫了我很大忙。 在Ubuntu下,一下命令就可以安裝fftw、blas和atlas庫 sudo apt-get ins
Linux 關於Docker介紹、Linux(Centos7.3)下安裝、Docker加速器配置、Docker-compose安裝以及基本命令的使用介紹
今天給各位同學進行Docker方面的知識介紹,一方面Docker的技術越來越火了,而且現在容器化也是一個發展趨勢,另一方面,Docker確實用起來相當方便,降低了運維的門檻,讓我們開發也能在不需要有太多linux的功底下,快速安裝很多我們所需要的第三方功能
Pycharm 2018、IntelliJ 2018 Linux下安裝破解與使用
以pycharm為例,IntelliJ操作方法完全一樣需要安裝jdk,未安裝請先搞定一、安裝 1. 官網選Linux版下載,將壓縮包移動至指定目錄,解壓 我選的目錄為 /home/pgg/program/pycharm 使用方法:進入安裝