Scanning a Directory For PHP Errors

My fellow web geeks might find this script, php-check download home on the range movie , useful. It recursively scans a directory checking PHP files for syntax errors.

Just copy it somewhere in your path (like /usr/local/bin) and chmod it to 755.

I wrote the script because I edit PHP using Notepad++, so it’s easy for small typos to enter my scripts. I needed a quick way to scan a directory after uploading revised files.
I wrote it in PHP so that those who need it will also know how to customize it.

[php]
#!/usr/bin/php
?php // php-check version 1.0 // recursively scans a directory for .php files and runs php ‑l on // them (php ‑l checks for PHP syntax errors) // revisions at http://glenandpaula.com/wordpress/archives/2007/10/31/scanning-a-directory-for-php-errors/ if (php_sapi_name()!=‘cli’) { die(“This utility can only be run from the command line.\n”); } $counter=0; $errors=false; function scan_dir($dir) { $counter=0; $dh=opendir($dir); while ($file=readdir($dh)) { if ($file==’.’ || $file==’..’) continue; if (is_dir($dir.’/’.$file)) { $counter+=scan_dir($dir.’/’.$file); } else { if (substr($file, strlen($file) — 4) == ‘.php’) { $counter++; $output=shell_exec(“/usr/bin/php ‑l $dir/$file 2>&1”);
if (substr($output,0,2)!=‘No’) { // skips the “No syntax errors in …” message
$errors=true;
echo $output;
}
}

}
}
return $counter;
}
if ($argc!=2) {
die(“Usage: php-check dirname (usually php-check .)\n”);
}

if (!is_dir($argv[1])) {
die(“Argument must be a directory. The most common usage is php-check .\n”);
}

$counter=scan_dir($argv[1]);

echo “$counter files checked\n”;
exit($errors);
?>
[/php]

This is a quick and dirty script — there are probably some bugs in it. User beware.

If you find it helpful, you might also want to check out scripts like PHP CodeSniffer

or PHP Beautifier.download robot chicken star wars dvd

2,780 thoughts on “Scanning a Directory For PHP Errors”

  1. Pingback: toms shoes
  2. Pingback: cheap Low 11s
  3. Pingback: women Jordans
  4. Pingback: toms Sko online
  5. Pingback: toms shoes 2015
  6. Pingback: ray ban wiki
  7. Pingback: cheap toms shoes
  8. Pingback: toms Sko online
  9. Pingback: women Jordans 2015
  10. Pingback: jordan Retro 1s
  11. Pingback: new curry shoes
  12. Pingback: ua curry one
  13. Pingback: converse特賣會
  14. Pingback: nike free 4.0
  15. Pingback: new curry shoes

Leave a Reply