Concur. For example, at work:
https://www.ombe.com/listing/646/Get-Help-Placing-An-Ad
https://www.ombe.com/listing/1707439/Canon-MF216n-imageCLASS-All-in-One-Laser-AirPrint-Printer
Same page, "listing", which is a PHP script. The rest is URL magic*.
Here on PHPBuilder:
http://board.phpbuilder.com/showthread.php?10395147-How-to-create-a-new-PHP-page-when-button-is-clicked
http://board.phpbuilder.com/showthread.php?10395149-RESOLVED-Mind-boggling-recursion-script!-Help!!
Same page, "showthread.php", which is a PHP script. The URL magic there is pretty obvious; the query string contains the number of the thread in the thread table of the vBulletin database. Now, to say that "showthread.php" is a single PHP script is a bit of a misnomer as there are lots of dependencies called via include() and require(), but pbismad is quite correct. You don't want to generate new PHP files. You want one file to generate lots of views.
Now, to go back to OMBE, we actually have several PHP pages: listing, category, categoryfilter, search, etc. Each one does something slightly different. But we have at present about 150K products, and I can absolutely guarantee I don't have 600,000 pages on our server(s).
*one way to do this 'magic' is Apache's mod_rewrite. There are some others, too.