You may have encountered a situation in XAMPP where you press the “start” button for the Apache service, you see the green “Running” message for a moment or two, and then the service fails without error. There are two likely culprits for this situation.
1) Another service is using port 80
Port 80 is the default HTTP port, so it is likely that Microsoft Visual Studio or some other application has set up a test server that is already running, preventing XAMPP from starting Apache. Although port 80 is for HTTP, Skype likes to default to it.
Determine what is using port 80 by opening cmd.exe (start->run cmd) and entering
netstat -a -no
Depending on how many browser tabs you have open, you may get a few results or a couple hundred. You want to find anything with “:80″ appended, particularly IP addresses similar to 127.0.0.1:80 and 0.0.0.0:80. Once located, make note of the PID.
Next, open up task manager with ctrl+alt+delete and configure it to display process IDs (View->Select Columns->”PID (Process Identifier)”), or alternatively type
into the command line. Make note of the process associated with the process ID, and shut it down or reconfigure it to stop using port 80.
In the case of Skype, you can change the port being used by going to Tools->Options->Advanced->Connection, unchecking ‘Use port 80 and 443 as alternatives for incoming connections’, and setting the port to some number between 1024 and 65535.
2) There is an error in your php.ini file
A php.ini file with conflicting or invalid values can cause Apache’s failure to start in XAMPP, which means that you need to delve into the file and fix the issue. The php.ini file used by XAMPP is located in the /xampp/apache/bin/ folder, and not the /xampp/php/ folder, so as you mess around, commenting out lines and seeing if anything changes, keep in mind that you only need to be concerned with /xamp/apache/bin/php.ini.
If all else fails, you can copy the /xampp/php/php.ini file into the /xampp/apache/bin/ folder and see if the default values remedy the problem.