我所用的環境和版本:
Windows XP
httpd-2.2.22-win32-x86-no_ssl.msi
php-5.2.17-Win32-VC6-x86.msi (選擇模組:Apache 2.2.x Module)
Win32 Binary without crypto (no mod_ssl) (MSI Installer): httpd-2.2.22-win32-x86-no_ssl.msi [PGP] [MD5] [SHA1]
下載地址:http://httpd.apache.org/download.cgi
VC6 x86 Thread Safe (2011-Mar-22 13:29:30)
Installer [20.41MB]
sha1: 710a69733aa280f22c86e8b868c51f5796f0a390
下載地址:http://windows.php.net/download/
解決日期:2012-1-12 11:13:47
問題1:
啟動不了Apache,沒有安裝服務。
解決:到cmd命令列:敲入
e:
cd E:\php\soft\Apache2.2\bin
httpd.exe -k install
httpd.exe -k start
問題2:
啟動服務是報錯: Windows 不能在 本機電腦啟動 Apache2.2。有關更多資訊,查閱系統事件日誌
the requested operation has failed
Cannot load E:/php5apache2_2.dll into server
起初以為是8080連接埠被佔用
先用命令列,尋找佔用連接埠的進程號PID
netstat -an -p tcp -o
結果沒有找到對應的進程
後來就進入E:\php\soft\Apache2.2\conf\httpd.conf,修改段括弧為8081
Listen 8081
但是還是不行。
今天早上又一次配置了PHP環境,幾乎每次配置都會遇到問題,下面就是解決方案:
開啟:E:\php\soft\Apache2.2\conf\httpd.conf
游標跳到最下面內容為:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir ""
LoadModule php5_module "php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
E:\php\soft\Apache2.2\bin>httpd.exe -k start
httpd.exe: Syntax error on line 495 of E:/php/soft/Apache2.2/conf/httpd.conf:Cannot load E:/php5apache2_2.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3
若修改為:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "E:/php/soft/PHP"
LoadModule php5_module "/php5apache2_2.dll"
AddType application/x-httpd-php .php
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
E:\php\soft\Apache2.2\bin>httpd.exe -k start
httpd.exe: Syntax error on line 495 of E:/php/soft/Apache2.2/conf/httpd.conf: Cannot load E:/php/soft/Apache2.2/php5apache2_2.dll into server:
\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3
一看才知道問題出在哪裡,原來/php5apache2_2.dll這句,Apache以為DLL是在自己的目錄下了,和高上的E:/php/soft/PHP/無關,所以要用絕對路徑:
修改為:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "E:/php/soft/PHP/"
LoadModule php5_module "E:/php/soft/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
重啟
E:\php\soft\Apache2.2\bin>httpd.exe -k start
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.101 for ServerName
哇塞,居然伺服器啟動了,淚流滿面啊!!!~~
還有解一個小問題無關大礙,解決辦法:只要把/conf/httpd.conf檔案的#ServerName 前的#去掉,然後重啟下服務就好了。
PHP測試頁面:
E:\php\soft\Apache2.2\htdocs\test.php
內容:
<?php phpinfo();?>