corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Configuring PHP Development Environment in Windows

This tutorial shows you two ways of configuring your PHP development environment on the Windows operating system. The first and most convenient way is to install and configure an AMP (Apache, MySQL, PHP) package. This tutorial shows you how to install the XAMPP package. The second way is to install and configure each component separately.

Contents

Content on this page applies to NetBeans IDE 6.5

To follow this tutorial, you need the following software and resources.

Software or Resource Version Required
NetBeans IDE PHP download bundle 6.5
A PHP engine Version 5. Included in XAMPP-Windows.
A web server Apache HTTP Server 2.2 is recommended.
Included in XAMPP Windows.
A database server MySQL Server 5.0 is recommended.
Included in XAMPP Windows.
A PHP debugger (optional) XDebug 2.0 or later

Typically, development and debugging is performed on a local web server, while the production environment is located on a remote web server. Setting up a remote web server is described in Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE. This tutorial has you set up a local web server. PHP support can be added to a number of local web servers (IIS, Xitami, and so on), but most commonly Apache HTTP Server is used. Apache HTTP server is included in the XAMPP AMP package used in this tutorial. For information on installing and configuring Apache HTTP server standalone, click here.

Required Software

To create, run, and debug your PHP projects you need the following software:

  • The NetBeans IDE for PHP. Downloads are available here.
  • A web server. Typically development and debugging is performed on a local web server, while the production environment is located on a remote web server. The current version enables using a local server. Using a remote server with FTP access will be supported in future versions. PHP support can be added to a number of web servers (IIS, Xitami, and so on), but most commonly Apache HTTP Server is used. Click here for information on how to install and configure Apache 2.2.
  • The PHP engine. The supported version is PHP5. Downloads are available here.
  • The PHP debugger. The NetBeans IDE for PHP allows you to use XDebug, but using a debugger is optional. The recommended version is XDebug 2.0 or higher as it is compatible with PHP5.
  • A database server. You can use various database servers while one of the most popular ones is the MySQL server. Downloads are available here.
    Note: The recommended version of the product is MySQL Server 5.0. The provided documents describe the work with this version.

After the installation, you need to set up the environment that all the software components work properly with each other.

You can use a Package, that contains the required software, or install each component separately.

Using an AMP Package

To have all the configuration settings for the PHP engine, the Apache HTTP Server, and the MySQL database server specified automatically, use the WAMP or XAMPP-Windows package.

Installing and Configuring the XAMPP Package

The section describes how to download, install, and configure the XAMPP Lite package.

  1. Download the XAMPP Lite package.
  2. When the download is completed, run the file xampplite-win32-1.6.6a.exe.

    On Microsoft Vista, the User Access Control feature blocks the PHP installer from updating the Apache httpd configuration. Disable UAC while you are installing XAMPP. See Microsoft support for more information.

  3. On the 7-Zip self-extracting archive panel, specify the XAMPP location in the Extract to edit box. Use the Browse button, if necessary. Then click Extract. This instruction suggests the C:/ root directory as the XAMPP location. You can choose any other folder and adjust your further steps accordingly.
    Extracting the XAMPP package to the Program Files folder
    The installer creates a subfolder xampplite at the specified location.
  4. After the archive is extracted, run the file setup-xampp.bat to configure the components of the package. The following message informs you that configuration has passed successfully:
    The setup-xampp.bat file has run successfully
  5. Run the file C:\xampplite\xampp-control.exe. You can run it from the command prompt or from the Xampp Control Panel icon that is automatically placed on your desktop. The XAMPP Control Panel appears.

    On Windows Vista sometimes xampp-control.exe will not run. You can run xampp-start.exe instead.

    XAMPP Control Panel
  6. To have the Apache server and the MySQL database server started upon the system startup, install the as services by switching on the Svc checkboxes next to them. Then click OK in the XAMPP Control dialog box that opens.
    XAMPP Control Panel: Apache and MySQL servers are installed as services.
  7. To start the Apache HTTP server, click Start.
  8. To start the MySQL database server, click Start.
    The Apache and MySQL servers are running.
    XAMPP Control Panel: Apache and MySQL servers are running.
  9. Click Exit to exit the XAMPP Control Panel.

Checking XAMPP Installation

  1. Run your browser and enter the following URL: http://localhost. The XAMPP welcome page opens:
    XAMPP welcome page indicates that Apache is running
  2. To ensure that the Apache and MySQL servers have been installed as system services, restart your operating system, run the browser, and enter the http://localhost URL again. The XAMPP welcome page opens. Note that the XAMPP welcome page includes a menu in the left margin through which you can check the status of XAMPP components and run phpinfo(), among other useful features. phpinfo() returns a screen with configuration information about your XAMPP components.
    Configuration information table returned by phpinfo()

Installing and Enabling the XDebug Debugger

Because XAMPP Lite does not contain the XDebug debugger, you need to install and set up the XDebug as a component.
  1. Download XDebug 2.0. The download links are listed under Releases. Download the Windows module appropriate for your version of PHP.
  2. Because Zend optimizer blocks XDebug, you need to disable Zend optimizer. In active php.ini file, shown by phpinfo() under Loaded Configuration File, locate the following lines and delete them or mark as comments:
    [Zend]
    ;zend_extension_ts = "C:\Program Files\xampplite\php\zendOptimizer\lib\ZendExtensionManager.dll"
    ;zend_extension_manager.optimizer_ts = "C:\Program Files\xampplite\php\zendOptimizer\lib\Optimizer"
    ;zend_optimizer.enable_loader = 0
    ;zend_optimizer.optimization_level=15
    ;zend_optimizer.license_path =
    
  3. To attach XDebug to the PHP engine, uncomment the following lines in the php.ini files (directly beneath the [Zend] section, add them if not there):
    [XDebug]
    ;; Only Zend OR (!) XDebug
    zend_extension_ts = "G:/xampp/php/ext/php_xdebug-2.0.3-5.2.5.dll"
    xdebug.remote_enable=true
    xdebug.remote_host=127.0.0.1
    xdebug.remote_port=9010
    xdebug.remote_handler=dbgp
    ;xdebug.profiler_enable=1
    ;xdebug.profiler_output_dir="G:\xampp\tmp"
    Note: Make sure the paths you specify match the location of the corresponding files as determined during your installation.
  4. Run the XAMPP Control Panel Application and restart the Apache server.
Click here for more information on how to configure XDebug.

Installing the Components Separately

Apache HTTP Server

  1. Download the Apache2 HTTP server.
  2. Run the installation file .msi. The installation wizard starts. Follow the instructions.
  3. When the installation is completed, restart the Apache server.
  4. To check that the installation is successful, run the browser and enter the following URL:
      http://localhost/
    The Apache welcome test page opens:
    Apache web server test page indicates that Apache is running

Troubleshooting

By default, the Apache server listens to port 80. This port can be already used by other services, for example Skype. To solve the issue, change the port which the server listens to:
  1. Open the Apache web server configuration file httpd.conf. By default the file is located in C:\Program Files\Apache Software Foundation\Apache<version>\conf\
  2. Locate the line Listen 80 and change the port number, for example 8080. Save the file.
  3. Restart the Apache web server.
  4. To check that the web server works, run the browser and enter the URL and specify the port number explicitly: http://localhost:8080

You can also stop the processes that possibly listen to port 80. In the Task Manager, select the relevant file name and click End Process.

Find more information on installing and configuring the server here.

PHP Engine

  1. Download the PHP5 engine.
  2. When the download is complete, run the .msi installation file. The installation wizard starts.
  3. On the Apache Configuration Directory panel, specify the directory where the httpd.conf file is located, the default setting is C:\Program Files\Apache Software Foundation\Apache<version>\conf\. The PHP processing will be enabled automatically.
  4. If you want to use the MySQL database server, choose the Complete installation option or select the MySQL and MySQLi items in the Extensions list.
  5. After the installation is completed, restart the Apache server.
  6. To check that the PHP engine has been installed successfully and PHP processing has been enabled in the Apache configuration:
    • In the Notepad, create a file and type the following text:
      <?php
           echo "PHP has been installed successfully!";
      ?>
    • Save the file in the htdocs folder: C:\Program Files\Apache Software Foundation\Apache<version>\htdocs\test.php
    • Run the browser and enter the following URL: http://localhost:<port>/test.php. The following page opens:
      PHP test page indicates that the PHP engine is enabled

Troubleshooting

If the page does not open:
  1. Restart the Apache server.
  2. Check that the Apache server configuration file httpd.conf contains the following lines:
      AddType Application/x-httpd-php .php
      LoadModule php5_module “c:/php/sapi/php5apache2_2.dll”
  3. If the lines are missing, add them, save httpd.conf, and restart Apache.
  4. Refresh the http://localhost:<port>/test.php page.

MySQL Database Server

Find detailed information on installing and configuring the MySQL database server.

XDebug

  1. Download XDebug.
  2. Install XDebug into php/ folder. You will need the path to it to configure your environment.

Setting Up the Environment

  1. If your installation follows the default settings, the PHP processing will be enabled automatically.
  2. To attach XDebug to the PHP engine, locate the php.ini file and add the following lines to it :
  3. zend_extension_ts="<path to the php folder>/php_xdebug-2.0.2-5.2.5.dll"
    xdebug.remote_enable=1
    Click here for more information on how to configure XDebug.
    Note: Make sure the paths you specify match the location of the corresponding files as determined during your installation.

    Note: If you are using XAMPP Lite, you need to add the above mentioned lines to two php.ini files:
    • /xampplite/php/php.ini
    • /xampplite/apache/bin/php.ini
  4. If you are using XAMPP Lite, you need to dizable the Zend optimizer because it blocks XDebug. Locate the relevant lines and remove them or mark as comments in the following files:
    • /xampplite/php/php.ini
    • /xampplite/apache/bin/php.ini
  5. To be sure that previously installed PHP engine supports using the MySQL database server:
    1. Click Start > Control Panel.
    2. On the Control Panel, choose Add or Remove Programs.
    3. On the Add or Remove Programs panel, select the PHP <version number> area and click Change. The PHP Setup Wizard starts. Click Next.
    4. On the Change, repair or remove installation panel, choose Change and click Next.
    5. On the Web Server Setup panel, choose the version of the Apache server - in our example it is Apache 2.2.x Module. Click Next.
    6. On the Apache Configuration Directory panel, specify the directory where the Apache configuration file httpd.conf is located. Click Next.
    7. On the Choose Items to Install panel, expand the Extensions node and choose the MySQL and MySQLi items. Click Next.
    8. On the Ready to change PHP <version number> panel, click Change.
    9. On the Completed the PHP <version number> Setup Wizard panel, click Finish.


To send comments and suggestions, get support, and keep informed on the latest developments on the NetBeans IDE PHP development features, join the mailing list.

Back to the PHP Learning Trail
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems