Skip to content

Portable development environment in Windows

décembre 27, 2012

A) Eclipse IDE
Download and unzip « Eclipse Classic » version of Eclipse IDE : or directly from

Define a relative path to the workspace directory (for example: ..\..\dev\workspace\)
Install all PHP/Symfony2 development plugins:

1 – PDT:

2- Yaml:

3- (optional) Twig, JsonEdit, Composer

Configure the eclipse editor :

1- Define UTF8 for all text editors : Preferences -> General -> Workspace -> Text file encoding

2- Define Tab size as 4 spaces : Preferences -> General -> Editors -> Text Editors

3- Define default php version to PHP5.3 or greater : Preferences ->

B) LAMP environment
Download and unzip xampp compressed version :
or directly from here :

Now we should configure xampp if we don’t use it from root directory (e.g c:\xampp) – from xampp directory

php\php.exe -n -d output_buffering=0 install\install.php usb

C) Install and activate xdebug
1- check phpinfo output and download the right dll version of xdebug
2- copy dll to php\ext folder
3- update php.ini xdebug section :

	zend_extension = "D:\xampp\php\ext\php_xdebug-2.1.2-5.3-vc9.dll"

D) Download and install PHPUnit
1- update PEAR package :

get and copy localy "go-pear.phar" from :
run : php go-pear.phar

D:\dev\php\xampp\php> php.exe go-pear.phar

Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : local
Please confirm local copy by typing 'yes' : yes

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : \dev\php\xampp\php
 2. Temporary directory for processing            : \dev\php\xampp\php\tmp
 3. Temporary directory for downloads             : \dev\php\xampp\php\tmp
 4. Binaries directory                            : \dev\php\xampp\php
 5. PHP code directory ($php_dir)                 : \dev\php\xampp\php\pear
 6. Documentation directory                       : \dev\php\xampp\php\docs
 7. Data directory                                : \dev\php\xampp\php\data
 8. User-modifiable configuration files directory : \dev\php\xampp\php\cfg
 9. Public Web Files directory                    : \dev\php\xampp\php\www
10. Tests directory                               : \dev\php\xampp\php\tests
11. Name of configuration file                    : \dev\php\xampp\php\pear.ini
12. Path to CLI php.exe                           : \dev\php\xampp\php

2- install PHPUnit :

pear config-set auto_discover 1
pear install

E) Optional : configuring Apach virtualhost
1- create « conf » folder to hold all project specific configurations
ex: « /dev/php/conf/vhost »

2- add a virtual host config file:

    DocumentRoot "/dev/php/workspace/myproject/web"
    ServerName myproject.local
    ErrorLog "/dev/php/workspace/myproject/logs/error.log"
    CustomLog "/dev/php/workspace/myproject/logs/access.log" combined
		Options FollowSymLinks
		Order Allow,Deny
		Allow from all
		Require all granted

3- include these configuration in apache virtual host config file (D:\dev\php\xampp\apache\conf\extra\httpd-vhosts.conf)

Include "/dev/php/conf/vhost"

E) Optional : stock mysql database file locally
1- create « db » folder to hold all project specific database files
ex: \dev\php\db

2- if the project database is myprojectdb, then we create the « myprojectdb.sym » file in masql data directory
ex: \dev\php\xampp\mysql\data\myprojectdb.sym

3- add these configurations to « myprojectdb.sym » file


From → Uncategorized

Laisser un commentaire

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:


Vous commentez à l'aide de votre compte Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :