After a year, I installed apache+php again. After the installation, I gained a new understanding of php.
I wrote notes during the installation last year: http://blog.csdn.net/monkey7777/article/details/9261325.
For detailed configuration lessons, please refer to the notes above.
Now write down several problems that may arise during the installation process:
1. An error occurred when starting apache: httpd: Could not reliably determine the server's fully qualified
domain name
My understanding of this problem is: port problem. (Port occupation, port conflicts and similar issues)
One way is to find "Listen" in apache's httpd.conf file and modify its port value.
An alternative is to find the process currently occupying the port and kill that process.
Find port usage:
netstat -ano|findstr "8080"
tasklist|findstr "x"
End a process: ("x" is the process number)
tskill "x"
If the above two methods do not solve the problem (it should be a DNS configuration problem), you can add a sentence to httpd.conf (add "ServerName localhost:8090", the location is as follows):
#ServerName www.example.com:80 ServerName localhost:80
2. When starting Apache, the error "Cannot load php5apache2_4.dll into server" is prompted
I downloaded the latest version of php (php-5.5.15-Win32-VC11-x64).
There is this sentence in httpd.conf: (This line of error is displayed when reporting an error)
LoadModule php5_module "c:\php\php5apache2_4.dll"
The first thought after seeing this problem was to replace php5apache2_4.dll with php5apache2_2.dll, but practice proved to be a failure.
After searching online, the reason can be understood as: version problem.
If you look carefully, you will find that there are VC9 and VC11 logos on the php name. Represents what VC compilation environment the php should be run in. (After all, this thing is written in C++...)
My understanding is that the one with VC9 should run with the VC2008 runtime installed, and the one with VC11 should run with the VC2012 runtime installed. However, after I installed the 2012 runtime library, I found that it still could not run correctly. I used the php-5.3.6-Win32-VC9-x64 provided by Liangshen (the one inside is php5apache2_2.dll). After configuring it, I ran it ok.
http://windows.php.net/The official website says:
VC9 and VC11 More recent versions of PHP are built with VC9 or VC11 (Visual Studio 2008 and 2012 compiler respectively) and include improvements in performance and stability. The VC9 builds require you to have the Visual C++ Redistributable for Visual Studio 2008 SP1 x86 or x64 installed. The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012 x86 or x64 installed.
I saw such a statement online. "Due to different apache versions, the corresponding "php5apache2.dll" is also different." It means that the apache and php versions have a mutually supporting relationship.
i.e.:
Apache2.2 对应 php5apache2_2.dll Apache2.1 对应 php5apache2.dll Apache1 对应 php5apache.dll
But after I installed the VC2012 runtime library, the VC11 version of php is still not easy to use. I can only suspect that my VC2012 runtime library is not installed properly or there is some kind of corresponding relationship.
If there is no problem with the environment, you might as well give this correspondence a try.