5. PHP Tutorial - WAMP Server

PHP Tutorial – WAMP Server


What is WAMP Server?

WAMP is a Windows-based web development platform that stands for Windows, Apache, MySQL, and PHP. It is a bundle of software that you can use to set up a local web server on your computer. The Apache web server is used to host the web content, MySQL is used as the database management system, and PHP is used as the server-side scripting language.

The “W” in WAMP refers to the operating system that the stack is installed on, which is typically Windows. Using WAMP allows you to test your web applications locally before uploading them to a live web server. It is a useful tool for web developers and can be easily installed on a Windows-based computer.

WAMP server is a Windows web development environment that allows you to create dynamic web applications. It is a software stack that consists of these components:

  • Apache HTTP Server: a web server that handles HTTP requests
  • MySQL: a database management system
  • PHP: a server-side scripting language

WAMP is an open-source software stack that is typically used for developing web applications on a local development machine. It is easy to install and use, making it a popular choice for developers who want to set up a local development environment quickly.

There are also similar software stacks available for other operating systems, such as LAMP (Linux, Apache, MySQL, PHP) and MAMP (MacOS, Apache, MySQL, PHP).

WAMP Server Setup in Windows:

Here are the steps to set up WAMP Server on a Windows machine:

  1. Download the WAMP Server installer from the official website (http://www.wampserver.com/).
  2. Run the installer and follow the prompts to install WAMP. Make sure to choose a folder where you want to install WAMP.
  3. After the installation is complete, start WAMP by clicking on the icon on your desktop.
  4. The WAMP Server icon will appear in the system tray. If the icon is red, it means that WAMP is not running. To start WAMP, left-click on the icon and select “Start All Services”.
  5. Once WAMP is running, you can access the local web server by typing “http://localhost” in your web browser. This will open the WAMP Server homepage, which shows the installed Apache, MySQL, and PHP versions and provides access to your web development folders.
  6. To create a new web application, you can create a new folder under the “www” directory in the WAMP installation folder. Then, you can create PHP files and access them by typing “http://localhost/your-folder” in your web browser.

From the WAMP homepage, you can access the PHPMyAdmin database management tool, view PHP information, and access your local web server directories. You can also use the WAMP menu to start and stop services, change Apache and PHP settings, and access other tools.

Note: If you have IIS (Internet Information Services) running on your machine, you may need to stop the IIS service in order for WAMP to work properly. You can do this by going to the Services Manager and stopping the “World Wide Web Publishing Service”.

Check version PHP & MySQL, start & stop services of WAMP:

Here are the commands you can use to manage the Apache, PHP, and MySQL services in WAMP:

  • To check the version of Apache, PHP, and MySQL, click on the WAMP icon in the system tray and go to the “Apache”, “PHP”, or “MySQL” menus. The version number will be displayed in the menu.
  • To start the Apache and MySQL services, click on the WAMP icon in the system tray and select “Start All Services”.
  • To pause the Apache and MySQL services, click on the WAMP icon in the system tray and select “Pause All Services”.
  • To stop the Apache and MySQL services, click on the WAMP icon in the system tray and select “Stop All Services”.

Alternatively, you can use the following command-line commands to start, stop, and check the status of the Apache and MySQL services:

  • To start the Apache service: net start wampapache
  • To start the MySQL service: net start wampmysqld
  • To stop the Apache service: net stop wampapache
  • To stop the MySQL service: net stop wampmysqld
  • To check the status of the Apache service: sc query wampapache
  • To check the status of the MySQL service: sc query wampmysqld

Note: These commands should be run from the command prompt with administrative privileges.

Some Advanced Steps in WAMP Server:

Here are a few advanced steps that you can take to configure and customize your WAMP installation:

  1. Change the Apache and MySQL ports: By default, Apache uses port 80 and MySQL uses port 3306. You can change these ports in the Apache and MySQL configuration files if these ports are already in use on your machine or if you want to use different ports for some reason.
  2. Enable Apache modules: Apache comes with a number of optional modules that can be enabled or disabled. You can enable or disable these modules using the Apache configuration file or WAMP Manager.
  3. Configure PHP: You can customize the PHP configuration by editing the PHP.ini file. You can set options such as the maximum execution time, error reporting level, and memory limit.
  4. Enable SSL: You can enable SSL (Secure Sockets Layer) on your Apache server to secure your web applications and protect sensitive data.
  5. Set up virtual hosts: You can set up virtual hosts to run multiple websites on a single WAMP installation. This allows you to develop and test multiple websites on your local machine.

These are just a few examples of the advanced steps that you can take to customize and configure your WAMP installation. There are many more options and configurations available, depending on your needs.

PROS & CONS of WAMP Server:

Here are some pros and cons of using WAMP:


  • Easy to install and use: WAMP comes with a simple installer that guides you through the installation process. It is easy to set up and start using, even for those with limited technical experience.
  • Complete web development environment: WAMP provides everything you need to develop dynamic web applications, including the Apache web server, MySQL database, and PHP programming language.
  • Good for local development: WAMP is a great tool for developing and testing web applications on a local machine. It allows you to work on your applications offline and test them before deploying them to a live server.
  • Customizable: WAMP is highly customizable, with a number of configuration options and advanced features available. You can tailor it to your specific needs and preferences.


  • Only available on Windows: WAMP is only available for the Windows operating system, so it is not an option for those who use other operating systems.
  • Limited scalability: WAMP is primarily intended for small-scale development and testing. It may not be suitable for large, high-traffic websites that require more robust and scalable infrastructure.
  • Security vulnerabilities: Like any software, WAMP may have security vulnerabilities that could be exploited by hackers. It is important to keep your WAMP installation up to date and secure.

Overall, WAMP is a useful tool for web developers and is particularly well-suited for local development and testing. However, it may not be the best choice for large-scale production environments.


In conclusion, WAMP is a software stack that provides a complete web development environment on a Windows operating system. It includes the Apache web server, MySQL database, and PHP programming language, and it is commonly used as a development environment for testing and deploying web applications. WAMP is easy to install and use, and it provides a wide range of features and customization options for web developers. However, it is limited to the Windows operating system and may not be suitable for all projects or needs.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

About the author

I'm a Web Developer
My name is Muslim Ahmad. I have experience in developing a real-time web application, complex front-end and back-end management systems, I have worked on mostly mathematical & scientific solution applications and experience in crypto-currencies exchange wallets development. All my projects based on PHP in conjunction with other modern web technologies.