The code with the eval is below, with the lines before, and after it.
This code worked fine on the site's previous host and has not changed since I moved the site to Dreamhost. I do not know the software versions on the previous host.
// In order to allow PHP code to be parsed from a database field, the contents must be eval()'ed.
// The eval()'ed code will try to pass to the browser immediately so we use output buffering to capture it.
ob_start();
// The line below CAN NOT BE REMOVED! The embedded PHP code will be parsed and will cause errors.
eval(' ?>' . $page_array['content'] . '<?php ');
// Captured the parsed content and clean the output buffer.
$page_array['content'] = ob_get_contents();
ob_end_clean();