Installing Zend Framework 2 on XAMPP in Windows Installing Zend Framework 2 on XAMPP in Windows windows windows

Installing Zend Framework 2 on XAMPP in Windows


For future references, i also made a big post on how to install ZF2 on a windows xampp environment right here Install ZF2 on Windows Xampp

OK, i have done this on multiple systems now. For a home system the following steps work quite well:

  • Download msysGit and install it to any directory
  • Run the git-cmd.bat from the msysGit-Folder
  • Move into the directory you want i.e. C:\xampp\htdocs\ (this is done via cd dirname or cd .. to go up a level, change partition with D: and hit enter)

Run the following command. The <OptionalFolderName> would be the name of a Sub-Directory of htdocs, if you skip this, the folder will get named ZendSkeletonApplication

git clone git://github.com/zendframework/ZendSkeletonApplication.git <OptionalFolderName>

Possible Trouble Scenario (fatal:unable to connect to github.com)

Once again at workplaces, pretty often the default port (9418) for the git-protocol is blocked. If this is the case for you, then you should try one of the following Commands

git clone https://github.com/zendframework/ZendSkeletonApplication.git <OptionalFolderName>git clone git@github.com:zendframework/ZendSkeletonApplication.git <OptionalFolderName>

Now you are not done yet. The skeleton Application is installed, but the framework is still missing, here some people might run into the first problems, but this actually is quite easy.

We're still at the command line interface

  • cd <OptionalFolderName> or cd ZendSkeletonApplication depending on what you did earlier
  • php composer.phar self-update
  • php composer.phar install (this might take a while)

So, this is the part where lots of things can happen. I have two scenarios happened to me:

Scenario #1 No directory write permissions

This is easily handled by running the command line interface with administrator privileges

Scenario #2 Working behind a router (i.e. at work)

Personally i didn't have to do much to get this working, but the line might change depending on your proxy. Personally i did the following at the command line interface

  • SET HTTP_PROXY=http://proxy.domain.tld:8080 you might also be good with
  • SET HTTP_PROXY=proxy.domain.tld:8080 don't ask me why, but i needed the http://

With all those done, you should have an almost running ZendSkeletonApplication. The other part is how to set up your virtual host, but i won't go into detail on this, as that's even ZF1 Stuff and everyone should be familiar with that by now, if not, there's good resources to learn out there.

I hope i could be of help to you.


Setbacks have to install in Windows, but I ended up finding a solution. From ZF2 to install on windows via git, for this is the only use that simulates msysGit git linux on windows, for it is only access the tutorial: http://zf2.com.br/tutoriais/post/instalando-o-git-no-windows-para-fazer-a-instalacao-do-zf2-somente-no-comando-do-windows-via-composer


Since I had lot dependency extension problems (mostly .dll files) with old version of XAMPP, so first thing I did was made sure I uninstall all previous versions of PHP already present on my system as well as old XAMPP. Then installed latest XAMPP v3.2.2 (using latest XAMPP 3.2.2-32-bit on Win-7-64-bit). Then followed installation steps in XAMPP Documentation under title Start a New Zend Framework 2 Project.

I had issues while installing composer also with old-XAMPP, but somehow those errors didn't appear during composer installation this time. And, I successfully installed ZEND till I typed http://localhost:8081/myapp/ (I renamed my ZendSkeletonAppliction folder as myapp as per documentation) into my browser to access the same and met the error which said:

Fatal error: Uncaught RuntimeException: Unable to load ZF2. Run php composer.phar install or define a ZF2_PATH environment variable. in C:\xampp\apps\myapp\htdocs\init_autoloader.php:51Stack trace: #0 C:\xampp\apps\myapp\htdocs\public\index.php(18): require() #1 {main} thrown in C:\xampp\apps\myapp\htdocs\init_autoloader.php on line 51

Composer.phar was not even present the first time I downloaded ZendSkeletonApplication‐master.zip from Github (there was only composer.json and composer.lock files present). Anyhow I didn't need them since I followed XAMPP Doc which doesn't call composer.phar in command line:

composer create‐project ‐s dev zendframework/skeleton‐application path/to/install

I am not that tech-savvy to know how to 'define a ZF2_PATH environment variable' correctly, so I wasted time looking for solution online, couldn't find any (which is when I stumbled on this forum which also turned out not to have a solution for my query). In the end, in a fit of depression and anxiety, serendipity happened. All I did was as per XAMPP's ZEND documentation I right-clicked inside C:\xampp\apps\myapp\htdocs folder and clicked 'Composer Install' which reinstalled the Zend files from cache. Then refreshed http://localhost:8081/myapp/ and the Zend intro page appeared.