Whats a great dev setup for working with PHP + MySQL?

codeigniter, mysql, php, phpmyadmin

Solution

This is what works for me:

Server stuff (emulates my RHE deployment server):

- Apache 1.3 and 2.2

- mod_security

- PHP 4 and 5

- MySQL

- MDaemon mail server (old 3-user version just for testing mail())

- ImageMagick

- ffmpeg

Code writing:

- Notepad++

- a custom command in shortcuts.xml to open the PHP manual on the selected function

- another custom command to run PHP in lint mode (`php.exe -l`) on the code file

- yet another custom command to run RATS scanner on the same

- poEdit for I18N

Template editing:

- Smarty

- the Notepad++ User Defined Language file for Smarty

- another custom command to run smarty-lint

- my own Notepad++ autocomplete file for Smarty

Debugging code and templates:

- Xdebug

- the Xdebug Helper extension for Firefox

- the DBGP plugin for Notepad++

- WinCacheGrind for profiling

- Firebug with FirePHP

- modified Smarty debugger that outputs to FirePHP

- dBug

- Tail for Win32 to read the error logs in realtime

Database stuff:

- HeidiSQL to manage MySQL

- SQLite Manager for Firefox

- ADOdb

- MyEnTunnel for remote connections via SSH

- rarely used: SQLite 2009 Pro, MySQL Workbench, DBDesigner4

Other useful stuff:

- a Subversion server with TortoiseSVN and Winmerge

- Keynote NF to store code snippets

- Filezilla with Notepad++ set as default editor

- Ndexer (modified to add support for Notepad++) for searching the code archive

- the Regex Coach

- Fiddler2 with JsonViewer

- Nikto vulnerability scanner

- PhpSecInfo

- Doxygen

- miniPHP Studio to make desktop applications with PHP

Almost all this stuff is open source and actually useful.

Problem

I've been a PHP Dev for many years now, and it just dawned on me that maybe I could be using better development tools. For example, my typical setup for development is - Notepad++ - Dev WAMP Server (local machine usually) - CodeIgniter framework (lately I've fallen in love with it, as it speeds up deployment for me, big time.) - phpMyAdmin (for MySQL of course). If you are a PHP dev, whats your typical setup? Eclipse (too bulky for me at times)? etc; I'm curious if I am missing something that might save me a ton of time, like some kind of on the fly PHP code validator (before I hit F5 and then debut what the error is). I currently achieve somewhat of a 'validation' by seeing the color highlights in Notepad++.

Original source