My PHP related development computers are:
- A WinXP workstation, decent specs, multiple monitors.
- A FreeBSD development server, pretty slow, but it's FreeBSD and only one user.
Most of my development is LAMP - FreeBSD or other *nix, Apache, PHP, MySQL. I like jQuery for JavaScript and Ajax work. I don't work with PHP hosted on windows, butI do use windows for my workstation.
Workstation Setup:
Multiple monitors, which is a must for any developer.
A W: drive that maps to my development folder on the dev server via samba, so I can open files locally (W:\php-app\php-webroot\file.php) but run them remotely (http://server.localdomain.com/file.php).
Workstation Software:
I like to use PutTY and TightVNC to manage the server via KDE in a local window. That way I can edit httpd, php.ini, etc, and restart apache without having to leave my primary desktop. If I'm doing a lot of work on the server, I'll maximize the window to one of my monitors. I find this more effective than having to use my switchbox.
For code work, I like the NuSphere PHPED IDE, with the DBG PHP Debugger. Pretty good IDE, and the only one I know of that will do 'remote' debugging for files in a 'local' project (run on the server via localdomain/file.php, but opened on the W:...\file.php).
I use Edit+ for a lot of text work, and used to write PHP/HTML/etc in it, before I moved to PHPED.
I use MySQL Workbench for database design.
I use SQLYog for MySQL data work, queries, viewing data in tables, etc.
Firefox, IE, Opera, and Google Chrome for viewing my work. I work mainly in Firefox, and just use the others for compatibility, session security work, etc.
MUST HAVE: Firefox plugins - DBGBar (works with DBG debugger and PHPED), DOM Inspector, Firebug, Live HTTP Headers, ReloadEvery, SEO for Firefox, ViewCookies, and WebDeveloper.
RegexBuddy for regular expression work (http://www.regexbuddy.com/).
Pixie color picker for color work (http://www.nattyware.com/pixie.html).
Photoshop and Illustrator for occasional design work. Also like Gimp and Inkscape.
jRuler for screen measuring (http://www.spadixbd.com/freetools/jruler.htm).
Win SCP for remote file work (ftp kinda stuff). Also works as a pipe to remote file editing if you set the 'external editor' for it to your php editor. Just double click the file on the remote server and it will open and save via SCP for as long as you keep it open in your editor.
Spell Magic, because PHPED doesn't have a good spell checker. (http://www.alcodasoftware.com/spell-magic.htm)
A time tracker (http://www.allnetic.com/)
A simple task manager for todo list kind of stuff.
Server Software
- Prefer FreeBSD
- Apache
- PHP 5
- MySQL 5
- Subversion
- Samba
Edit - Addition to Workstation Stack:
I've recently started using virtuawin for multiple virtual desktops (http://virtuawin.sourceforge.net/). You can use it to run just about any number of virtual desktops, and it works great with multiple monitors (I use the NVidea desktop manager, since I use two NVidea video cards, I assume it works as well with other methods). For example, I currently have 9 virtual desktops, each of which spans my 3 monitors. Switching is very easy, and it's pretty light with memory and processor resources.
This way I can have my email/communication space, my code/workspaces per project, and a workspace that has 3 other boxes open via TightVNC, each running full screen on one monitor, for easy network admin, server config, etc. That way I can be working on any of my projects, replying to clients, managing server configs, etc., in about 1 second.
I've also added winroll (http://www.palma.com.au/winroll/), which is a great, lite, way to add some functionality that windows has long been lacking.
To keep things from getting too boring, I like WallpaperChannger (http://www.wallpaperchanger.de/) which also works with multiple desktops (at least via virtuawin).
I've also replaced my taskmon with Process Explorer, which is WAY better if you want to monitor your resources for leaks and hoggs.
Taskbar Shuffle allows me to drag and drop taskbar icons, which is shocking not to be built into windows.
These aren't exactly PHP stack, but I couldn't work without them at this point...