- strpos: documentation ( source)
- sys_get_temp_dir: documentation ( source)
- print_r: documentation ( source)
- exec: documentation ( source)
- tempnam: documentation ( source)
- file_put_contents: documentation ( source)
<?php
function lint($code)
{
$code = strpos($code, '<?php') === 0 ? $code : "<?php $code";
$filename = tempnam(sys_get_temp_dir(), 'lnt');
file_put_contents($filename, $code);
exec(PHP_BINARY . " -l $filename", $errors);
return $errors;
}
print_r( lint('echo "world"; } ') );