There are two situations when Apache/PHP cannot be started:
1. Apache cannot be started, and it cannot be started even if php is not loaded
2. Apache can be started, but cannot be started after loading php
The first situation is mostly due to Apache configuration problems, or port 80 is occupied, use Apache's configuration check:
C:\>D:\Apache2.2\bin\httpd.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:
# 查找占用80端口的进程id netstat -ano|find ":80" # 假设该进程id为2013,查看进程名称: tasklist /fi "pid eq 2013" # 杀掉该进程命令 taskkill /f /pid 2013
The second type is mostly PHP compiler problem:
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 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3
The compilers used by php5.5 are vc11, php5.4 and php5.3 is 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.
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
Recommended tutorial: PHP video Tutorial
The above is the detailed content of Php cannot start. For more information, please follow other related articles on the PHP Chinese website!