PHP PHP filecode sözdizimi kontrol nasıl?

2 Cevap php

PHP içinde PHP kodu PHP ayrıştırıcı çalışan bir ihtiyacı duyuyorum. Windows üzerinde ve ben denedim

system("C:\\Program Files (x86)\\PHP\\php.exe -l \"C:/Program Files (x86)/Apache/htdocs/a.php\"", $output);
var_dump($output);

şans olmadan. Parametre-l doğru PHP sözdizimi için kontrol ve bazı sorunlar varsa hataları atmak gerekir. Temelde, ben bu resme benzer bir şey yapmak istiyorum:

alt text

Bu kod hataları tespit edebilmek için vardır.

2 Cevap

Bu iş gibi görünüyor:

<?php

$file = dirname(__FILE__) . '/test.php';

//$output will be filled with output from the command
//$ret will be the return code
exec('php -l ' . escapeshellarg($file), $output, $ret);

//return code should be zero if it was ok
if ($ret != 0) {
    echo 'error:';
    var_dump($output);
} else {
    echo 'ok';   
}

Runkit uzatma yapmak için bir fonksiyon sağlar:

runkit_lint_file()

Eğer runkit kullanamıyorsanız, o zaman sadece başka bir şekilde zaten denedim ne olduğunu:

echo passthru("php -l ".__FILE__);

Işe yaramazsa realpath() ile yolunu düzeltmeye çalışın.