Nothing is ever easy… Anyways, to get a computer ready to start developing with the Symfony PHP framework you have a few options. You can take the long, long route and install apache, php, and a database server. With that you have to do a good deal of configuration to get everything working together. You could also download WAMP or XAMPP, which are just prepackaged versions. I haven’t used XAMPP, so I can’t say how you would get that working.
The best reason for using WAMP is that it is self contained in c:\wamp folder by default. You can also start and stop all of the server processes (Apache & MySQL) anytime by just closing the tray icon. It’s great so you don’t have unnecessary processes running all of the time.
The main problem is that WAMP and Symfony don’t work “out of the box.” No surprise there.
This is the process I used to get WAMP working with Symfony:
Download WAMP (1.6.6) and install:
http://www.wampserver.com/en/
Open a browser to http://localhost/
WAMP should display it’s default webpage with links to phpmyadmin and etc.
If you are going to use MySQL it might be a good idea to change its root account to have a password. You can use phpmyadmin to do that, just click the link to it on the WAMP localhost page.
There will be a problem once you change the password. Phpmyadmin won’t be able to reconnect to MySQL until you edit this file:
C:\wamp\phpmyadmin\config.inc.php:
Search for this line below in the file and put your password between the ”:
$cfg[‘Servers’][$i][‘password’] = ”;
Extract the Symfony Sandbox to c:\wamp\www for testing later:
http://www.symfony-project.com/get/sf_sandbox.tgz
If that link doesn’t work, just go to http://www.symfony-project.com/ and checkout the download page.
Read this tutorial for some needed info:
http://www.symfony-project.com/trac/wiki/SymfonyOnWAMP
It basically said to:
Open c:\wamp\Apache2\bin\php.ini
Search for and remove the comment symbol ‘;’, change ‘On’ to ‘Off’, or just edit the lines to be the same as these below.
magic_quotes_gpc = Off
register_globals = Off
include_path = “.;c:\php\includes;c:\wamp\php\pear”
The magic_quotes_gpc and register_globals parts were not in the tutorial, but WERE NECESSARY for me to change. I was getting a 500 internal server error before I set those values to Off.
Install PEAR for PHP (taken from that Wiki article directly):
1. Start -> Run -> cmd
2. Cd into the PHP directory (e.g. C:\wamp\php)
3. Invoke go-pear.bat. Follow through the options (default should work fine).
If you have a problem when running the bat file like “Warning: Cannot use a scalar value as an array,” in php 5.2.0 the file was broken for windows. You can check out this website for more info. You can just download the new version of the file from svn here.
Open C:\wamp\Apache2\conf
Remove the comment character ‘#’ from this line:
LoadModule rewrite_module modules/mod_rewrite.so
Point a browser to http://localhost/sf_sandbox/web/
You should get a page that says something like:
Congratulations!
If you see this page, it means that the creation of your symfony project on this system was successful….
A few more notes to get the Symfony sandbox example working:
http://www.symfony-project.com/tutorial/my_first_project.html
Edit symfony.bat in the sf_sandbox folder that you extracted to c:\wamp\www
Change the line:
set PHP_COMMAND=php.exe
to
set PHP_COMMAND=c:\wamp\php\php.exe
I’m still having some problems with the example, but it is *kind of* working so far. I had to edit both php.ini files with all of the previous modifications.