I found the solution to this and just wanted to report back. Turns out that it was the .htaccess file.
At my old host, I needed “AddHandler php5-script .php” in .htaccess to enable PHP5, but at Dreamhost that line causes problems, apparently. Simply removing it did the trick.
Creating a new test subdomain worked because I only uploaded a phpinfo.php file to test it, but the bad .htaccess file was included when I uploaded all of my site’s files.