Home >Backend Development >PHP Problem >Solution to the problem that apache php cannot start
Solution to the problem that apache php cannot start: 1. Use Apache’s configuration check and correct the error according to the error prompts; 2. Log out of the IIS service; 3. Use commands to kill the process that occupies port 80; 4. Modify the PHP configuration php.ini file.
Recommended: "PHP Video Tutorial"
Solution to the problem that Apache/PHP cannot start
I have been asked a lot recently about the problem of Apache not being able to start, so I wrote an article to summarize the solutions to the problem of Apache/PHP not being able to start that is often encountered under Windows.
There are two situations when Apache/PHP cannot be started:
1. Apache cannot be started, even if php is not loaded.
2. Apache can be started, but php is loaded. Unable to start after
The first situation is mostly caused by Apache configuration problem, or port 80 is occupied
Use Apache configuration check:
C:\>D:\Apache2.2\bin\httpd.exe -t Syntax OK
Correct the error according to the error prompt.
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端口的进程pid netstat -ano|find ":80" # 假设该进程pid为2013,查看进程名称: tasklist /fi "pid eq 2013" # 杀掉该进程命令 taskkill /f /pid 2013
If it is not the above problem, it may be a system network problem , the following warning:
setup_inherited_listeners(), WSASocket failed to open the inherited socket.
Use the command to repair the Windows network:
netsh winsock reset
Restart the machine. If the problem cannot be solved, try the following methods:
Local Area Connection-> Properties- > Advanced-> Wins tab-> Remove the check before enabling LMhosts query
The second type is mostly a problem with the PHP compiler:
Check the Apache error log, something similar to the following These contents:
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 compiler used by php5.5 is vc11, php5.4 and php5.3 are vc9, and 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运行库x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679 vc10运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555 vc10运行库x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632 vc9运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582 vc9运行库x64版本: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, and the PHP module corresponding to Apache2.4 is php5apache2_4.dll
In other words, according to the php5_module module, you can know that the current version of php supports Which kind of Apache
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
Unless you manually compile the php5_module module yourself, you can only There are above 3 options.
If Apache/PHP still cannot start, check whether the php configuration (php.ini) exists and whether there are any errors when running php.exe. Correct the error according to the error message.
The above is the detailed content of Solution to the problem that apache php cannot start. For more information, please follow other related articles on the PHP Chinese website!