Apache XAMPP Fails to start under Windows XP

时间:2021-12-12 11:33:56

Apache XAMPP Fails to start under Windows XP

I’ve been installing XAMPP a hundred times before since 2005 and back then everything was running well. But yesterday was kind of exceptional, I got error that I couldn’t solved till I found this great solution from apachefriends. Before I gave you the solution, let me show you what I’ve done to get this thing right.

Case:

- Installing XAMPP version: win32-1.7.7

After installing it and trying to start from XAMPP control panel, I got message

“Busy… Apache service started”

but of course the Apache service wasn’t. Then I checked the error log of Apache C:\xampp\apache\logs\error.log  I found this message:

[Wed Sep 19 16:36:59 2012] [error] Attempt to reload DynaLoader.pm aborted.\nCompilation failed in require at C:/xampp/perl/site/lib/ModPerl/Const.pm line 18.\nBEGIN failed–compilation aborted at C:/xampp/perl/site/lib/ModPerl/Const.pm line 18.\nCompilation failed in require at C:/xampp/perl/site/lib/Apache2/Const.pm line 18.\nBEGIN failed–compilation aborted at C:/xampp/perl/site/lib/Apache2/Const.pm line 18.\nCompilation failed in require at C:/xampp/apache/conf/extra/startup.pl line 9.\nBEGIN failed–compilation aborted at C:/xampp/apache/conf/extra/startup.pl line 9.\nCompilation failed in require at (eval 2) line 1.\n
[Wed Sep 19 16:36:59 2012] [error] Can’t load Perl file: C:/xampp/apache/conf/extra/startup.pl for server localhost:8080, exiting…

The last shot,  I opened the services window from Control Panel\Administrative Tools\Services and started the apache service directly, voila.. I got this error:

Windows could not start the Apache2 on Local Computer. For more information, review the System Event Log. If this is a non-Micorsoft service, contact the service vendor, and refer to service-specific error code 1.

Either one, from my previous experiences, I could handle this problem by doing one or two things below:

  1. Check the firewall, deactivate it or add exception for localhost or 127.0.0.1, so it won’t block this address. OR
  2. Check the IIS service, if it’s working, stop it, OR
  3. Change the port number of Apache. Go to C:\xampp\apache\conf\httpd.conf
    Search:
    - “Listen 80″ and modify to “81″ or “8080″
    - “ServerName localhost:80″ follow the prev one.
    OR
  4. Change the virtual host number of Apache. Go to C:\xampp\apache\conf\extra\httpd-ssl.conf
    Search:
     - “<VirtualHost _default_:443>” modify to “4499″
    - “ServerName localhost:443″ follow the prev one.

Done with those modifications, I re-started the XAMPP service, but still I couldn’t access my localhost from any browser.

Then I tried to find any solution from uncle Google and most readers suggest solutions mostly the same. I’ll list them here so you can try them all to find which one is the best and can fix your problem.

  1. This is the most command thing to do when you are desperate, UNINSTALLING AND INSTALLING your XAMPP application and restart your computer. Apache XAMPP Fails to start under Windows XP Is it working? No?
  2. Do you have Skype or NOD32 Antivirus or  other Google Apps running? If yes, for skype and google apps, close those application (shut it down) and for NOD32, you can go to advance set-up then un-chek web access protection for HTTP, HTTPS. Try to start you apache service.
    Still not working?
  3. Go to command prompt (CMD) to check whether port 80 is still used by other application or not by typing this: netstat -ao -p tcp. Is there any IP that using that port? If yes, keep the PID number and go to Task Manager\Processes, do you see PID column? If you don’t, click menu:View –> Select Column, check the Process Identifier (PID).  Still keep the PID numberFind it in the processes list and kill if you found. Try to start you  apache service again.
    Still not working?
  4. My last shot and this solution works for me.
    Search for perl.conf file in  C:\xampp\apache\conf\extra\perl.conf, open this file and you’ll see this:
    LoadFile “C:/xampp/perl/bin/perl510.dll”
    LoadModule perl_module modules/mod_perl.so
    PerlPostConfigRequire “C:/xampp/apache/conf/extra/startup.pl”
    Add this “PerlSwitches -T”after the second line, so it becomes like this: LoadFile “C:/xampp/perl/bin/perl510.dll”
    LoadModule perl_module modules/mod_perl.so
    PerlSwitches -T 
    PerlPostConfigRequire “C:/xampp/apache/conf/extra/startup.pl”

    Try to start you apache service again, voila….. it does work right? no? -__- it works for me.

Okay, that’s all I got, if your apache is still not working, let’s ask uncle Google again. Special thanks toapachefriends.