疑難解答在Windows上安裝PHP
我的PHP的安裝不工作?我無法運行我的PHP腳本?一個簡單的php Info頁在瀏覽器中未加載?這些都是我從論壇用戶聽到的典型問題。我仍然說的最好方法安裝PHP是利用WPI如我論壇里所說的這里和這里。我說,是因為WPI安裝,包括非手動步驟安裝PHP 5.2.11或PHP5.3。
但是像手動安裝軟件也不是100%安全,可能要失敗的。我要解釋如何解決您的PHP安裝問題。第一個建議是使用WPI安裝它。如果您按照我的PHP安裝方法,只需要簡單的故障排除就好啦。此故障排除方法是為了配置PHP能夠運行在IIS FastCGI和非線程安全的PHP版本。這個故障解決不只是為了讓PHP運行在IIS的ISAPI模式中。如果您運行的是XP或更高版本的操作系統,我們建議部署在PHP上的IIS應該使用IIS FastCGI非線程安全的PHP版本。
我想告訴你在PHP安裝過程中需要搞清楚特定的事情。這將是一件好事,如果你能說出下面命令/指令執行結果,并把問題報告到論壇。
如果您是XP/2k3
運行下面的命令,看看輸出類似于在這里(我假設你的系統驅動器是C:)。
cscript.exe C:\inetpub\AdminScripts\adsutil.vbs GET w3svc/DefaultDoc
cscript.exe C:\inetpub\AdminScripts\adsutil.vbs GET w3svc/ScriptMaps | findstr php
輸出結果,你可以從第一個命令:
DefaultDoc : <STRING> "Default.htm, Default.asp, index.htm, index.php"
以下結果來自第二cssript命令:
".php,C:\WINDOWS\system32\inetsrv\fcgiext.dll,5,GET,HEAD,POST"
如果你返回值為空或者其他的事情,你應該懷疑你的安裝
看看目錄’C:\WINDOWS\system32\inetsrv’(我假設C:是您的系統驅動器),并確保您有:
? fcgiext.dll
? fcgiext.ini
? fcgiconfig.js
同時打開fcgiext.ini文件,看看事情是正確的。正確設置的INI文件最好具備:
[類型]
Php=PHP
[PHP]
ExePath=C:\Program Files\PHP\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\Program Files\PHP\
確保C:\Program Files\PHP\php-cgi.exe存在。并有一個有效php.ini文件在相同的目錄。
如果您是Vista/2k8/WIN7/R2
運行下面的命令:
%WINDIR%\system32\inetsrv\appcmd.exe list config /section:fastcgi /text:*
%WINDIR%\system32\inetsrv\appcmd.exe list config /section:handlers /text:* | findstr /i PHP
在第一個命令的輸出應該類似:
配置
CONFIG.SECTION:"system.webServer/fastCgi"
path:"MACHINE/WEBROOT/APPHOST"
overrideMode:"Inherit"
locked:"false"
[system.webServer/fastCgi]
[application]
fullPath:"C:\Program Files\PHP\php-cgi.exe"
arguments:""
monitorChangesTo:""
stderrMode:"ReturnStdErrIn500"
maxInstances:"4"
idleTimeout:"300"
activityTimeout:"600"
requestTimeout:"600"
instanceMaxRequests:"10000"
signalBeforeTerminateSeconds:"0"
protocol:"NamedPipe"
queueLength:"1000"
flushNamedPipe:"false"
rapidFailsPerMinute:"10"
[environmentVariables]
[environmentVariable]
name:"PHP_FCGI_MAX_REQUESTS"
value:"10000"
[environmentVariable]
name:"PHPRC"
value:"C:\Program Files\PHP\"
在第二個命令的輸出應該類似于:
name:"PHP_via_FastCGI"
path:"*.php"
scriptProcessor:"C:\Program Files\PHP\php-cgi.exe"
如果輸出是NIL(我的意思是什么)或大幅不同,請仔細檢查您的安裝。通過大幅度不同我的意思是文件有所缺失。請不要過多關注他們的值。
適用于所有的平臺
所有可用的可執行文件/ DLL的顏色可顯示為紅色應出席上述在各自的位置。你也應該有一個有效顯示為藍色的php.ini文件在本地。
確保但是php - cgi.exe是正常工作的
有很多原因,你可以得到500如果PHP - cgi.exe不能正常工作。其中有些可以是:
? 一些PHP擴展創建問題和無法正確加載
? 程序錯誤
編程錯誤是一些你需要關注的。我想告訴你用一個簡單的PHP文件包含如下行,測試你的PHP可執行性:
<?php
echo ’This is my first PHP program’;
?>
請在您的Webroot的文件夾命名上面的文件為‘test.php’并保存(PHP服務器變量_ SERVER [“DOCUMENT_ROOT]”)。我將使用
’C:\inetpub\wwwroot’作為我的webroot文件夾,PHP_SERVER variable _SERVER["DOCUMENT_ROOT"]設置
你可以使用下面兩個命令檢查你的PHP是否運行良好:
"C:\Program Files\PHP\php-cgi.exe" -v
"C:\Program Files\PHP\php-cgi.exe" C:\inetpub\wwwroot\test.php
第一個命令要打印出類似這樣:
C:\Windows\system32>"C:\Program Files\PHP\php-cgi.exe" -v
PHP 5.3.1RC4 (cgi-fcgi) (built: Nov 12 2009 22:32:27)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
沒有任何錯誤或彈出對話框。如果有對話框提到缺少資源文件,請給予關注。它可能導致您的PHP無法正常在瀏覽器中查看。這個結果應該是干凈的。我的意思是沒有任何彈出對話框。如果你得到一下對話框缺少資源或者獲取到該資源文件或者禁用擴展包在PHP.INI文件中。以禁用擴展,執行下列操作:
? 理解php.ini文件中起始行’extension=’的所有行
? 每次注釋一句并按照上述執行
? 找出哪些擴展創造問題和在前面加;注釋掉
第二個命令應打印’This is my first PHP program’在命令行中,一些類似下面的話:
X-Powered-By: PHP/5.3.1RC4
Content-type: text/html
這是我的第一個PHP程序
PHP的輸出文件本身
請閱讀我的博客這里尋求解決辦法。
本地主機/你的機器的IP地址是妥善解決
確保一個純HTML文件中的Webroot可以被http://localhost/default.html訪問
如果不是有一個DNS問題,請嘗試與您的Internet服務提供商解決這個問題。
IIS的默認Web站點/ localhost是正確配置
請確保:
? 您有一個名為’默認網站’配置在你的IIS中。您可以通過運行’Inetmgr’確保這些。按視窗鍵+ R和輸入’Inetmgr’
? 你能看到一個’默認網站’下的網站?如果不行,那么你的IIS存在嚴重的問題。這些網站可以幫助您創建一個’默認網站’
? http://support.microsoft.com/kb/323972
? http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/9b74f316-071b-4eab-b5d2-c3ad7feb46ca.mspx?mfr=true
? 如果你有一個正確的’默認網站’綁定在80端口,您應該復制你文件夾里面的’test.php文件這一文件夾對應的是‘默認站點’的屋里路徑
? 通過‘inetmgr’UI關于’Physical Path’和’Binding Port’是有效的
也可以使用命令行工具,以了解約束力的港口和物理路徑站點:
在Vista/2008/Win7/R2
最新產品
- 人臉消費機
- RF-SIM卡消費機
- 啟迪智慧食堂
- 啟迪無線消費機
- 羽毛球館管理軟件(創業版)
- SF-780系列HID卡售飯機
- 美食城管理系統
- 啟迪SF_980 15寸觸摸屏收款機收銀機
- 啟迪SF-920無線手持打印一體機
- 啟迪SF-910手持消費機