Можете попробовать использовать PECL расширение
runkit, если есть возможность его установки на сервер. В частности, runkit предоставляет класс
Runkit_Sandbox, предоставляющий возможность запуска кода в изолированных условиях (в отдельно выделенной области памяти). См. метод Runkit_Sandbox::eval() в примерах в документации к классу. Также в runkit есть метод
runkit_lint — аналог системного вызова «php -l
file», но принимающий в качестве аргумента строку с кодом, а не путь к файлу.