В проекте, над которым я сейчас работаю, мы рассматриваем возможность помещения system()
в объявление disable_functions
php.ini. Теперь один из наших метамодулей, который в конечном итоге также станет жертвой этого ограничения, - это файлы для проверки синтаксиса с system("php -l");
вызовами, что побуждает меня искать альтернативы.
Оказывается, раньше был php_check_syntax()
, но он не только не ограничивался простой проверкой синтаксиса, но и включал файл, если он синтаксически действителен , но он был удален с PHP 5.0.5. В руководстве предлагается php -l
вместо него, но, учитывая, что я уверен, что отключение функций системных вызовов в PHP является довольно распространенной практикой, мне интересно, существует ли приемлемый, «лучший» способ проверки синтаксиса файлов PHP изнутри PHP файлы.
(Между прочим, я не одержим этим; вполне достаточно «нет» (и я действительно этого ожидаю). Мы можем исключить модуль из этого ограничения - но я задаю этот вопрос как из любопытства, так и в надежде на более изящное решение.)