PHP command line syntax checking
Posted April 24th, 2010 in PHP
The PHP CLI (command line interface) allows basic syntax checking of a PHP file. I'll show the basic usage of this in this post and then a couple of ways to check all files in a directory, and all files recursively down the directory tree as posted by a couple of people on Twitter.
Syntax checking a single PHP file from the command line
The syntax for checking is like this, where the -l flag is a lower case L:
php -l filename
If the syntax in the file is correct you will see this:
No syntax errors detected in test.php
If there are errors then theses will be listed as in the following example output:
Parse error: syntax error, unexpected T_STRING in test.php on line 5 Errors parsing test.php
Note that the syntax checking only checks for syntax errors - it does not report the usage of variables which have not yet been defined, functions or class which have not be declared etc.
So something like this will pass:
<?php echo $x; call_a_function_that_does_not_exist();
but these will not:
<?php
$x => 1;
something {
}
Syntax check all PHP files in the current directory
This was posted by @chrisvoo (http://twitter.com/chrisvoo) to syntax check all the PHP files (or at least all files with a .php extension) in the current directory from a BASH command line:
for i in *.php; do php -l $i; done
Syntax check all PHP files in the current directory and all subdirectories
I retweeted the above and was replied to by @gurubobnz on Twitter (http://twitter.com/gurubobnz) with how to syntax check all .php files recursively down the directory tree from current directory:
find . -name \*.php -exec php -l "{}" \;
Thanks to @chrisvoo and @gurubobnz
Thanks to @chrisvoo and @gurubobnz for posting these on Twitter - they are very useful!
Related posts:
- Command line arguments for the PHP CLI (Thursday, June 19th 2008)
- Command line arguments with a PHP CLI script (Sunday, June 15th 2008)

Comments
blog comments powered by Disqus