網站執行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
- 已解決 phpstudy切換nts模式出現的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.
- 頁面報錯 No input file specified
- 用CMD執行時Java,出現亂碼的解決辦法Java
- Laravel 執行 Gulp 命令出錯解決辦法Laravel
- 記:痛苦的排錯之” No input file specified.“
- 在 apache 中重寫規則不生效的問題 [No input file specified.] 解決Apache
- vscode無法執行input輸入解決方法VSCode
- Web 伺服器顯示 no input file specifiedWeb伺服器
- 專案遷移 寶塔 No input file specified
- 執行 PHP artisan migrate 時報長度錯誤的解決辦法?PHP
- git出現Permission denied的解決辦法Git
- 2.2. 第一個應用,遇到 no input file specified
- apache網站漏洞修復解決辦法Apache網站
- Win7 IIS7.5執行ASP時出現500錯誤的解決辦法Win7
- 網站開啟提示:”No input file specifed.“網站
- stm出現Flash Timeout解決辦法
- AndroidStudio進行Build時出現DexArchiveMergerException異常的解決辦法AndroidUIHiveException
- 網站轉移後無法開啟報錯提示“No input file specifed”網站
- LoadRunner中文出現亂碼的解決辦法
- composer 安裝擴充套件出現 "PHP Fatal error: Allowed memory ..."的解決辦法套件PHPError
- 放假期間網站被掛馬的解決辦法網站
- 關於網站出現Errorestablishingadatabaseconnection的解決辦法網站ErrorRESTDatabase
- Linux 出現 su: Authentication failure 解決辦法LinuxAI
- PbootCMS網站轉移後無法開啟報錯提示“No input file specifed”boot網站
- 解決 sublime text3 執行python檔案無法input的問題Python
- Docker Hello World容器執行報錯的解決辦法Docker
- 記錄一次通過homestead配置多站點不起作用的坑--No input file specified.
- 網站劫持跳轉,分享網站被劫持跳轉的解決辦法網站
- 阿里雲網站備案時網站無法訪問原因及解決辦法阿里網站
- php json提交亂碼的解決辦法PHPJSON
- PHP提示Notice: Undefined variable的解決辦法PHPUndefined
- pbootcms製作網站開啟提示:No input file specifedboot網站