Home  >  Article  >  Backend Development  >  Solution to the problem that apache php cannot start

Solution to the problem that apache php cannot start

藏色散人
藏色散人Original
2020-11-02 09:43:484946browse

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.

Solution to the problem that apache php cannot start

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn