Pull to refresh

PHP скрипт проверки синтаксиса файлов PHP

Два дня сидел и вносил изменения в скрипты PHP отвечающие за поддержку ajax на сайте. Так как эти скрипты выполняются в фоновых запросах, то ошибки в синтаксисе сразу и не увидишь, а проверять каждый скрипт в отдельности слишком долго.

В результате, для упрощения поиска синтаксических ошибок в большом количестве файлов появился следующий скрипт:
<?php

function check_syntax_file($filename) {
    return @eval('return true; ?>' . file_get_contents($filename));
}

$dir = "/my_dir/";   //задаём имя директории
    if(is_dir($dir)) {   //проверяем наличие директории
         echo $dir.' - директория существует;<br>';
         $files = scandir($dir);    //сканируем (получаем массив файлов)
         array_shift($files); // удаляем из массива '.'
         array_shift($files); // удаляем из массива '..'
		 
		 # Проверяем все файлы директории и выводим результат
         for($i=0; $i<sizeof($files); $i++){
		 	echo('<br>filename: '.$files[$i].' - ');	
			var_dump( check_syntax_file($dir.$files[$i]) );
			echo('<br>');		 
		 }  
    }
    else echo $dir.' -такой директории нет;<br>';

?>


Принцип действия прост, кладем скрипт на хостинг, в переменной $dir указываем путь к нашей директории со скриптами и вызываем скрипт через браузер. В полученном ответе выискиваем строчки с bool(false) и работаем уже непосредственно с файлом, в котором есть синтаксическая ошибка.

Маленьких скрипт, но упрощающий жизнь.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.