One of the nice things of developing in Linux-oriented scenarios (although I use Windows }:) is having free tools that sometimes shine for their quality.
Leaving apart the decision of the PHP IDE (there are a great range of both free and commercial ones), setting up a good debugging and testing environment can be done all with free software.
This is the core. The extensibility of Firefox has made people to create all sort of tools, from embedded FTP clients to Ad-blocking extensions. Firefox will be the "engine" running most of the stuff.
Developed as an extension for Firebug, FirePHP adds handling of PHP errors, warnings and debugging. Really useful and a must if you develop with PHP too.
PHPUnit is the equivalent of JUnit or NUnit for PHP developers. Allows to create unit tests, assertions, and provides an extensible framework.
Selenium Core is a server for launching PHPUnit test batteries against it (among others, it supports a wide variety of languages including Java, C# and Python).
Selenium IDE is a Firefox extension that allows to both record macros for web testing, and allows to create specific complex tests (like for example and XPath assert of the value of a field). Generates code in any of the supported Selenium languages
YSlow is another extension for Firebug to find performance optimizations, like reduction of HTTP requests, compression of files (both HTML and JS/CSS), or specific headers.
The URLParams Firefox extension allows to tamper with the querystring parameters of any page you browse, allowing for simple tests or messing around with the parameters of any call }:)
Add N Edit Cookies
This FFox extension allows us to delete or edit any cookie.
Finally, another extension for FFox, CacheViewer, which as its name implies. allows to see the contents of the browser cache fast and easily.
And as a bonus...
As we can see, this is a powerful suite of tools at our disposal without any cost. And some of them are quite valuable even if developing with ASP.NET or Java. They might not be perfect, but help a lot to improve any website.
Note: You will also need Java JRE for both the Selenium core (a Java server application) and YUI (which is a command-line Java application too).