How can the answer be improved?

  1. Mysql Windows
  2. Php Windows Installer
  3. Install Mysql Module Php Windows Installation
Active5 months ago

How do I install Apache with PHP support and the MySQL server on Windows without using any ready-to-use packages like WAMPServer or XAMPP ?

Instructions for installing MySQL / PHP on a Windows Server in preparation for running WordPress and other apps. The other day I was looking for a tutorial to install Apache, php and MySQL on Windows and I wasn’t really able to find anything that cover most basic issues. 12)Open the php.ini file and find the line:;extension=php_mysql.dll remove the semi-colon. And find the line:;extension=php_mysql.dll. 1)Goto config folder in Apache and open httpd.config in any text editor. 2) Find(Ctrl + F) the line DirectoryIndex index.html add index.php. Configure PHP to Access MySQL. Open the c: php php.ini file with your favorite text editor. Uncomment the following lines by removing the semicolon: extension=php_mysqli.dll extension=php_mbstring.dll extension=php_mcrypt.dll Restart the IIS service by clicking on Start, selecting the Search Field, typing iisreset, and then pressing ENTER. In Windows® Explorer, create the session subdirectory in the PHP installation directory. Right-click the session directory, and select Properties. In the Security tab, click Edit. In this tutorial, you’ll learn how you can make your own WAMP server by installing Apache, PHP and MySQL server manually on Windows 10. Learn to install Apache, PHP and MYSQL on Windows 10 Machine step by step.

Install hp designjet 500 driver windows 7 64 bit. The list below is the steps to install HP DesignJet 500 Plus 24-in driver by using setup file. • Prepare the Setup File.

user256743

2 Answers

First, I recommend you read the Platform Specific Notes of Apache for Windows - it explains some Windows-specific features like running as a service that you don't have on other OSes and you probably have never used before.

As mentioned in these platform specific notes, Apache doesn't provide binaries for Windows, however they have links to several third-party sites that provide binaries, for example Apache Lounge.

From that website, we can download either the 32-Bit version (win32) or the 64-Bit one (Win64) - if your OS is 64-Bit you should always try to install 64-Bit versions of software, but note that you'll need to use 64-Bit modules as well, that means if you only have a 32-Bit module then download the 32-Bit Apache.

Here's the version that I used when writing this : Apache 2.4.10 Win64. The latest version when this answer was last updated: Apache 2.4.38 Win64 (look at the edit date at the bottom of the post).

Once downloaded, just extract the Apache24 folder to the root of your hard drive, so that you have a path like C:Apache24bin.

Open a command line window (Windows+R and type cmd then press Enter), change directory into C:Apache24bin and run httpd.exe, normally it shouldn't print any errors.

If you get an error dialog stating that MSVCR110.dll is missing on your system, you'll need to install the Visual C++ Redistributable for Visual Studio 2012 - as always, when prompted, select the appropriate bit-version : vcredist_x86.exe for 32-Bit systems and vcredist_x64.exe for 64-Bit ones.

If you get an error saying that it can't bind to port 80, check if another application uses that port - also Skype is known to use ports 80 and 443 by default; uncheck 'Use port 80 and 443 as alternatives for incoming connections' in its advanced connection settings, restart Skype to apply the changes, and then you should be able to start Apache without issues.

A warning like Could not reliably determine the server's fully qualified domain name can be ignored for now.

Windows Firewall may prompt you to allow Apache to communicate on specific networks, I recommend you use the default settings : allow it on home and work networks, but not on public/untrusted networks.

Then, open a browser and browse to http://localhost, if you see a page saying It works ! then it means your Apache installation is working.

You can now stop the currently running Apache by pressing Ctrl+C in the command prompt.

If you got a warning about not being able to determine the system's fully qualified domain name, fix it by editing C:Apache24confhttpd.conf and editing the ServerName variable (it should be already there in a comment, just uncomment it and change it) :

Replace <yourhostname> with either the system's host name or localhost.

Finally, if you want to run the server automatically when the system starts (even if nobody logs in), you'll need to run it as a service - in a new elevated (as an administrator) command prompt, type :

That's it, now you have a new service in Services (Windows+R then type 'services.msc' then press Enter) named 'Apache2.4' that you can control just like any other Windows service.

Restricting Apache access to localhost only - optional

If you're setting this up for development purposes you want to make sure that no one except you can access it, your firewall should already take care of that but let's add another layer of security to it by telling Apache to accept requests from the local machine only.

Open Apache's configuration file C:Apache24confhttpd.conf, search for the default directory block <Directory 'c:/Apache24/htdocs'>.

At the end if it, there should be a line Require all granted, this means that anyone can access this server. Let's make that Require local which only allows access from the local machine.

Also, you can tell Apache to only bind to the loopback interface, that way even if both your firewall and the access control directives mentioned above fail, the server still won't be open to the whole internet.

For this, locate the Listen directive (by default it's set to 80) and change it to the following :

The first line is self explanatory, the second one is the first one's IPv6 equivalent, the brackets are used in the IPv6 notation to separate the address and the port.

Save the file, if you're already running the server then restart it in order to take our changes into account, and now only localhost has access, everyone else will get a 403 Forbidden.

I suggest you read the official PHP documentation about installing it on Windows systems.

Download the latest PHP binaries from the official PHP for Windows download page, choose the thread-safe version that matches your Apache installation's bit-version (x86 for 32-Bit, x64 for 64-Bit).

The non thread-safe version is only when running as a CGI binary - more info here.

The version I used is this : PHP 5.6.2 VC11 x64 Thread Safe. The latest version when this answer was last updated: PHP 7.3.3 VC15 x64 Thread Safe (look at the edit date at the bottom of the post).

Create an empty PHP folder at the root of your hard drive, and extract the previously downloaded archive there, you should have a path like C:PHPext, otherwise you did something wrong.

In C:PHP, rename the php.ini-production or php.ini-development (depending on what you want) to php.ini.

Open that php.ini file, search for extension_dir = 'ext' and uncomment that line (remove the first ;). This sets the default extension dir to ext (which resolves to C:PHPext and avoids having to prepend ext/ to all extension's paths manually like in previous versions of this post.

Now configure Apache to use that PHP, by editing C:Apache24confhttpd.conf - after all the LoadModule lines, add the following :

Canon iR1022 Fax / UFR II Driver Windows 7/8/10/XP/Linux Canon iR1022 The Canon IR-1022 laser printer is marketed as a high-quality and rapid all-in-one for tiny to medium-sized workplaces. Available Drivers (0) For certain products, a driver is necessary to enable the connection between your product and a computer. On this tab, you will find the applicable drivers for your product or in the absence of any drivers, an explanation of your product's compatibility with each operating system. Canon ir1022a windows 8 driver. Easy Driver Pro makes getting the Official Canon iR1022A Multifunctional Drivers For Windows 8 a snap. Easy Driver Pro will scan your computer for missing, corrupt, and outdated Drivers. Easy Driver Pro will scan your computer for missing, corrupt, and outdated Drivers. Canon iR1022A Free Driver Download for Windows 10, 8.1, 8, 7, 2008, Vista, 2003, XP, Other - o155sen_w_CFDv1006_32_64.exe (1937231). World's most popular driver download site.

Module

(The follow is for PHP 7 only)

(The following is for PHP 5 only)

Now try to start Apache manually by opening a command prompt in C:Apache24bin and running httpd.exe - if you see no errors, it means your configuration file is valid and PHP is most likely working.

You can test your PHP installation by creating a file like info.php with <?php phpinfo(); inside and going to http://localhost/info.php - you should see quite a bit of info about your system and your PHP installation and all its modules. If you get something else like an 'Internal server error' that means something's wrong.

You can now kill your current Apache process (Ctrl+C in the console) and start the service - the following part doesn't interact with Apache and can be done with the server already started.

Composer - optional

Composer is a tool for dependency management in PHP, like a package manager. It allows to easily install PHP packages and even entire frameworks.

Composer requires the PHP OpenSSL extension to be enabled, so let's enable it in C:PHPphp.ini.

Use your text editor's search function to search for php_openssl.dll, there should already be a commented line for it, just uncomment that line.

Now download Composer's Windows installer from their download page - or just use this direct link.

Follow the instructions, when prompted for the path to PHP, browse to C:PHP and select php.exe.

That's it, Composer is now installed system-wide and can be used from anywhere - you can try it out, just open a new command prompt (you can't use one that's already open since it needs to read the new PATH variable set by Composer's installer) and type composer.

You should get a nice ASCII-art logo and something like this :

PHP MySQL extensions - optional

If you want to access your MySQL database from PHP, you'll need to enable extensions that allow you to do so, like php_mysqli or php_pdo_mysql - I recommend enabling them both.

Open PHP's configuration file C:PHPphp.ini in your text editor and search for php_mysqli or php_pdo_mysql - they should already be there, uncomment them.

Done, now you can access any MySQL database using either mysqli or PDO.

On the MySQL Installer download page download the web installer mysql-installer-web-community-xxxxx.msi.

I used mysql-installer-web-community-5.6.21.1.msi. The latest version when this answer was last updated: mysql-installer-web-community-8.0.15.0.msi (look at the edit date at the bottom of the post).

The installer will automatically install the appropriate version (32-Bit or 64-Bit) depending on your system, even though MySQL's bit version doesn't have to match Apache's and PHP's one but it's still beneficial to use the 64-bit version of your system supports it to take advantage of more than 3 GB of RAM, that's quite important as database servers tend to use a lot of RAM.

Follow the steps in the installer, if you're installing this for development then the Developer default will be your best option, it'll also install MySQL Workbench which is a native GUI client, thus avoiding you having to install slow web-based tools such as PHPMyAdmin if you aren't comfortable with using the command line client.

Php windows apache

Once everything is installed the installer will ask your for some basic configuration values, I recommend disabling 'Open firewall port for network access' unless you want to access the database from another machine on the network.

Set the root password - if it's only for development purposes and your firewall blocks incoming connections from the network then a strong password isn't necessary.

Finally, you can disable the useless MySQL Notifier by right-clicking the tray icon, going into Actions -> Options, then untick the Run at Windows Startup checkbox and apply. That'll save you a few MBs of RAM and avoid slowing your machine down when it's booting.

And that's it, you now have a fully functional WAMP server that runs as a service and doesn't depend on any user (accessible even if no one is logged in).

Note that I have no idea about the security of this, for development purposes I'd say this is pretty safe since your firewall should block incoming connections for both Apache (port 80 and or 443) and MySQL (port 3306).

This was tested on a Windows 7 installation, it should also work just fine on Vista, Windows 8 and possibly Windows Server 2008/2012 - feel free to comment and/or downvote if that's not the case.

user256743

The instructions in the above answer work perfectly as of July 2017, however, if you wish to use PHP 7, you must add the following lines to C:Apache24confhttpd.conf, instead of the ones in that answer (which work only for PHP 5) [Add the following after all the LoadModule lines]:

Ensure that all paths are correct. If you don't have php7apache2_4.dll in your PHP directory, you probably downloaded the wrong package.

rahuldottechrahuldottech
4,0405 gold badges27 silver badges53 bronze badges

protected by MokubaiJul 2 '16 at 21:59

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

-->

by Ruslan Yakushev

Introduction

While Microsoft® SQL Server® 2008 is the recommended database to use when hosting PHP applications on an Internet Information Services 7 (IIS 7) and above Web server, you can also use MySQL as the database. Currently, many popular PHP applications use MySQL Server for data storage. Using MySQL requires hosting providers to include MySQL database support with the hosting packages.

MySQL cannot currently be installed with the Microsoft® Web Platform Installer (Web PI). This article provides guidance for installing MySQL manually.

Install MySQL Server on Windows Server 2008 or Windows Server 2008 R2

It is recommended that you install MySQL on a dedicated server rather than installing MySQL on the same server that is running IIS. The separation of database server and Web server makes overall installation more secure and manageable and avoids resource contentions between the database and Web server processes.

  1. Download MySQL Community Server. We recommend downloading Windows® Installer.
  2. Start Windows Installer, or extract all the files from the archive, and then start Setup.exe.
  3. You can use a Typical Setup or customize the installation to suit your needs.
  4. Once the installation wizard is completed, it is recommended that you leave the Configure the MySQL Server now check box selected.

Configure a MySQL Instance

  1. Run the MySQL Server Instance Configuration Wizard, and then choose the configurations options that most closely match your environment.
    For more information, see the Server Instance Configuration Wizard.
    Best practice recommendations are as follows:

    • Click Next in the Instance Configuration Wizard.
    • Select Detailed Configuration, and then click Next.
    • Select a server type that best suits your environment. It is recommended to set up a separate MySQL server; when prompted to select a server type, select Dedicated MySQL Server Machine, and then click Next.
    • Select a database option, and then click Next.

      • Select either the Multifunctional Database or Transactional Database Only options if you are using the InnoDB storage engine or the high-speed MyISAM storage engine (for example, if the Web applications on your server require multi-statement transactions, advanced isolation levels and row-level locking, foreign key constraints, or atomic, consistent, isolated, and durable [ACID] features). These options provides fully ACID transactional capabilities, but at the cost of more aggressive usage of disk space and memory.
      • Otherwise, use the Non-Transactional Database Only option, which is optimized for high-performance SELECT operations. It has low overhead, in terms of memory usage and disk utilization, but at the cost of not supporting transactions.
    • Choose the option that sets the number of concurrent connections you need.

      Note

      Connections require memory; if the number you choose is too big, your server may not have enough memory.

    • You may adjust networking settings to suit your environment or accept defaults, and then click Next.
    • Select the default character set that best suits you, and then click Next.
    • We recommend enabling both Windows options here. Select both check boxes, and then click Next.
    • Type the password you want to use for the root account, and then click Next.
    • Click Execute to apply your settings.
    • Click Finish to close the wizard.
  • For PHP to work with MySQL, it is necessary to perform the following modifications to the Php.ini file:

    • Confirm that the extension_dir points to the folder where all PHP loadable extensions are located, frequently in the Ext folder (for example, extension_dir='.ext').
    • Enable dynamic extension for MySQL by uncommenting the corresponding line for the MySQL extension: extension=php_mysql.dll
    • c. Save and close the Php.ini file.

Secure MySQL

  1. Remove the anonymous database account (if it exists). Open the MySQL command prompt by clicking Start -> All Programs -> MySQL -> MySQL Server 5.1 -> MySQL Command Line Client:
  2. Enter the password for the root account.
  3. Once logged on to MySQL, use the following sequence of commands:

  4. Next, restrict the root account to log on only from localhost. Open a MySQL command prompt, and use the following sequence of commands:

  5. Change the name of the root user with the following sequence of commands from the command prompt:

Provision the User and Database

  1. To provision a new user, type the following command from the MySQL command prompt:

  2. The newly created user does not have any privileges on the MySQL server by default. To create a new database, type the following command:

  3. To grant access to this database for a particular user, type the following command:

Configure PHP to Access MySQL

Mysql Windows

  1. Open the c:phpphp.ini file with your favorite text editor.
  2. Uncomment the following lines by removing the semicolon:

  3. Restart the IIS service by clicking on Start, selecting the Search Field, typing iisreset, and then pressing ENTER.
  4. If all went well, you should see the mysqli section on the PHP information page created earlier http://localhost/phpinfo.php.

    Figure 1: The mysqli section on the PHP information page

Php Windows Installer

Best Practices for MySQL

  • Enable TCP/IP Networking — This is the default. Keep the TCP port that MySQL uses to listen at 3306. If the database will be running on a separate system from the Web server, select the Add firewall exception for this port check box.
  • Include Bin Directory in Windows PATH — This makes the MySQL utilities available from the command prompt or from Windows PowerShell™.
  • Create an Anonymous Account — The default is to keep this disabled. Adding anonymous user support may create a security risk for the database; additionally, enabling anonymous users causes the GRANT statements used to set up database to be unreliable.

Install Mysql Module Php Windows Installation

See also