網站執行PHP出現No input file specified 的解決辦法
今天接到小夥伴的配置伺服器執行php頁面的時候就會報錯“No input file specified”。使用的是IIS + Fastcgi + PHP 5.3.X,在預設網站下執行都是正常的,但是新增一臺虛擬主機或網站按照網上的各種解決方法,如遮蔽doc_root、給目錄加許可權、修改緩衝池等等都無效。
終極解決方法【僅供參考,每個環境不一樣】
1
2
3
4
5
6
7
8
9
10
11
12
|
開啟php.ini檔案,這個你看你怎麼配置的了。 在php.ini檔案裡面修改: 1、增加一行(這個最重要) fastcgi.impersonate
= 1 2、修改兩項(解開註釋就可以了) cgi.fix_pathinfo=1 cgi.force_redirect
= 0
網上教程說的修改doc_root為空值或者註釋的方法都毫無作用,最直接的辦法就是回收應用程式池或者放大招重啟IIS.
|
設定IIS下PHP環境的DOCUMENT_ROOT【從源頭找分析】
在WINDOWS下的PHP總會出現DOCUMENT_ROOT為空,無值的問題.
設定IIS下PHP環境的DOCUMENT_ROOT
這兩天把一網站架到了IIS伺服器上,卻發現在讀取 $_SERVER['DOCUMENT_ROOT'] 的時候是空值。翻閱了PHP的文件,發現對該變數的解釋為:“當前執行指令碼所在的文件根目錄。在伺服器配置檔案中定義。”這才突然想到,Apache的配置檔案裡確實有 DocumentRoot 這一項,而IIS則沒有這個配置檔案。好吧,既然沒有,那就值得用別的方式來“修復”IIS伺服器了。把下面這段程式碼加到程式中,注意必須在你呼叫 $_SERVER['DOCUMENT_ROOT'] 之前哦!
- if(empty($_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['SCRIPT_FILENAME'])) {
- $_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0 - strlen($_SERVER['PHP_SELF'])));
- }
- if(empty($_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['PATH_TRANSLATED'])) {
- $_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0 - strlen($_SERVER['PHP_SELF'])));
- }
解決方法二:
使用 php.iis.net 上的安裝方法直接安裝 php 會出現$_SERVER["DOCUMENT_ROOT"]為空的問題。
解決辦法:將*.php對映到 C:\WINDOWS\system32\inetsrv\fcgiext.dll 即解決。
另外注意檢查下網站目錄是否有相關使用者的寫入許可權!!!
相關文章
- apache PHP 隱藏 index.php 報錯 No input file specified. 解決辦法ApachePHPIndex
- No input file specified 出現的原因及解決方法
- No input file specified 解決方法
- 已解決 phpstudy切換nts模式出現的No input file specifiedPHP模式
- Nginx執行php,顯示“No input file specified. ”的處理方法NginxPHP
- 使用phpstudy出現No input file specifiedPHP
- no input file specified 三種解決方法
- 解決 PbootCMS 網站轉移後無法開啟報錯提示“No input file specified”的問題boot網站
- 使用url()後出現No input file specified.
- PbootCMS 網站轉移後無法開啟報錯提示“No input file specified”怎麼辦boot網站
- apache 與 Nginx 隱藏 index.php 報錯 No input file specified. 解決辦法 設定偽靜態ApacheNginxIndexPHP
- No input file specified.
- 執行 xhost + 出現 unable to open display 解決辦法
- 用CMD執行時Java,出現亂碼的解決辦法Java
- Laravel 執行 Gulp 命令出錯解決辦法Laravel
- 頁面報錯 No input file specified
- 記:痛苦的排錯之” No input file specified.“
- 在 apache 中重寫規則不生效的問題 [No input file specified.] 解決Apache
- 執行 PHP artisan migrate 時報長度錯誤的解決辦法?PHP
- 專案遷移 寶塔 No input file specified
- Web 伺服器顯示 no input file specifiedWeb伺服器
- PHP執行環境之IIS FastCGI 程式意外退出解決辦法PHPAST
- git出現Permission denied的解決辦法Git
- scp出現錯誤的解決辦法
- apache網站漏洞修復解決辦法Apache網站
- vscode無法執行input輸入解決方法VSCode
- Win7 IIS7.5執行ASP時出現500錯誤的解決辦法Win7
- 執行Docker命令報錯解決辦法Docker
- 解決PythonWin執行時崩潰的辦法Python
- 有些網站打不開 某些網站打不開的解決辦法網站
- 網站開啟提示:”No input file specifed.“網站
- stm出現Flash Timeout解決辦法
- 2.2. 第一個應用,遇到 no input file specified
- 網站轉移後無法開啟報錯提示“No input file specifed”網站
- 多執行緒高併發解決辦法執行緒
- LoadRunner中文出現亂碼的解決辦法
- Docker Hello World容器執行報錯的解決辦法Docker
- 網站劫持跳轉,分享網站被劫持跳轉的解決辦法網站