Вызов php из php через exec () не дает результата

У меня есть сценарий PHP, который создает другие файлы PHP на основе ввода пользователя. В основном, есть файлы, содержащие языковые константы (define) которые могут быть переведены пользователем. Чтобы избежать ошибок во время выполнения, я хочу проверить вновь записанные файлы на наличие ошибок синтаксического анализа (из-за «необычных» последовательностей символов). Я прочитал несколько постов здесь на SO (какPHP включает файлы с ошибками разбора) и попробовал функцию, которая использует

$output = exec("php -l $filename");

чтобы определить, правильно ли анализируется файл. Это прекрасно работает на моей локальной машине, но на машине провайдера вывод вызововexec("php ...") кажется, всегда пусто. Я попробовал позвонитьls и это дает мне вывод, что приводит меня к предположению, что PHP каким-то образом настроен так, чтобы не реагировать на вызовы командной строки или около того. Кто-нибудь знает способ обойти это?

РЕДАКТИРОВАТЬ: Я забыл упомянуть, я уже пыталсяshell_exec и это тоже не дает результата. В ответ на ответ сганеша: я тоже это пробовал, извините, я забыл упомянуть. Тем не менее, выходные данные (второй аргумент) всегда будут пустым массивом, а возвращаемое значение всегда будет 127, независимо от того, имеет ли файл PHP для проверки синтаксические ошибки или нет.

Ответы на вопрос(6)

Ваш ответ на вопрос