1. Apache cannot be started, even if php is not loaded
2. Apache can be started, but cannot be started after php is loaded
The first case is mostly Apache configuration Problem, or port 80 is occupied
Use Apache's configuration check:
C:>D:Apache2.2binhttpd.exe -t
Syntax OK
Correct the error according to the error message.
If port 80 is occupied, this is more common on Windows machines and is often preempted by IIS.
Log out of the IIS service:
iisreset /stop
iisreset /disable
sc stop w3svc
sc delete w3svc
If it is not IIS, you can use the command to kill the process occupying port 80:
# Find the occupation The process ID of port 80
netstat -ano|find ":80"
# Assume that the process ID is 2013, check the process name:
tasklist /fi "pid eq 2013"
# Kill the process Process command
taskkill /f /pid 2013
/******** Ruthless dividing line ********* /
Author: The tree without flowers
Blog: blog.csdn.net/mycwq
/ ******* Ruthless copy ***********/
The second type is mostly a problem with the PHP compiler:
Check the Apache error log, there is content similar to the following:
httpd. exe: Syntax error on line 63 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/php/php5apache2_4.dll into server: %1 xb2xbbxcaxc7xd3xd0xd0xa7xb5xc4 Win32 The compiler is vc11 , php5.4 and php5.3 are vc9, php5.2 is vc6. Also pay attention to whether it is the x86 version or the x64 version. Currently, only php5.5 provides the x64 version, and the others only have the x86 version.
The Apache downloaded from apache.org is all vc6 version, otherwise different runtime libraries will be installed according to different file instructions.
Port 80 is occupied, first find the occupied process and close everything except systemme. That’s it
Apache/PHP cannot be started in two situations:
1. Apache cannot be started, even if php is not loaded
2. Apache can be started, but cannot be started after php is loaded
The first case is mostly Apache configuration Problem, or port 80 is occupied
Use Apache's configuration check:
C:>D:Apache2.2binhttpd.exe -t
Syntax OK
Correct the error according to the error message.
If port 80 is occupied, this is more common on Windows machines and is often preempted by IIS.
Log out of the IIS service:
iisreset /stop
iisreset /disable
sc stop w3svc
sc delete w3svc
If it is not IIS, you can use the command to kill the process occupying port 80:
# Find the occupation The process ID of port 80
netstat -ano|find ":80"
# Assume that the process ID is 2013, check the process name:
tasklist /fi "pid eq 2013"
# Kill the process Process command
taskkill /f /pid 2013
/******** Ruthless dividing line ********* /
Author: The tree without flowers
Blog: blog.csdn.net/mycwq
/ ******* Ruthless copy ***********/
The second type is mostly a problem with the PHP compiler:
Check the Apache error log, there is content similar to the following:
httpd. exe: Syntax error on line 63 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/php/php5apache2_4.dll into server: %1 xb2xbbxcaxc7xd3xd0xd0xa7xb5xc4 Win32 The compiler is vc11 , php5.4 and php5.3 are vc9, php5.2 is vc6. Also pay attention to whether it is the x86 version or the x64 version. Currently, only php5.5 provides the x64 version, and the others only have the x86 version.
The Apache downloaded from apache.org is all vc6 version, otherwise different runtime libraries will be installed according to different file instructions.
vc11 runtime library x86/x64 version: http://www.microsoft.com/en-us/download/details.aspx?id=30679 vc10 runtime library x86 version: http://www.microsoft.com/en -us/download/details.aspx?id=5555 vc10 runtime library x64 version: http://www.microsoft.com/en-us/download/details.aspx?id=14632 vc9 runtime library x86 version: http:/ /www.microsoft.com/en-us/download/details.aspx?id=5582 vc9 runtime library x64 version: http://www.microsoft.com/en-us/download/details.aspx?id=15336
If you are not sure about your situation, you can install all the runtime libraries and no longer have to worry about this problem.
If Apache/PHP still cannot be started, it is most likely a problem with the php5_module module:
1. The PHP module corresponding to Apache2.0 is php5apache2.dll
2. The PHP module corresponding to Apache2.2 is php5apache2_2.dll
3. The PHP module corresponding to Apache2.4 is php5apache2_4.dll
In other words, according to the php5_module module, you can know which Apache is supported by the current version of php
So, the combination of Apache/PHP has the following situations:
1. php5.2 supports Apache2.0 and Apache2.2;
2, php5.3, and php5.4 support both Apache2.2 and Apache2.4;
3. php5.5 only supports Apache2.4