一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

shell 脚本检查某目录下php文件语法

时间:2013-08-27 编辑:简简单单 来源:一聚教程网

 代码如下 复制代码


check_php_syntax.sh

#!/bin/bash
# check php syntax
if [ $# -lt 1 ];then
    echo 'Usage: ' $0  'directory';
    exit
fi
if [ ! -d $1 ];then
    echo $1  'not a directory,please check!';
    exit
fi
directory=$1
temp_file="/tmp/file$$"
#echo $temp_file
ls -R $directory | awk  '
    BEGIN{
        FS="n"   
        folder="'$directory'"
        logname="'$temp_file'"
    }
    {
        if($0~/.php$/){
            system("php -l " folder "/" $0  "   >>  " logname  " 2>&1") 
        }
        if($0~/:$/){
            folder=substr($1,1,length($1)-1)
        }
    }
'
if [ -e $temp_file ];then
    cat $temp_file | awk '
        BEGIN{
            error = 0
       }
        {
            if($0~/Parse/) {
                error++
                errorfile[$0] = $0
            }  
        }
        END{
            print "错误文件:" error "个"
            if(length(errorfile)>0) print "错误行数:"
                for (i in errorfile)
                    print i
        }
    '
else
    echo "php file not found."
    exit;
fi

使用,例如:

 代码如下 复制代码
./check_php_syntax /home/liuzhichao/test/

输出:

错误文件:2个
错误行数:
PHP Parse error:  syntax error, unexpected T_VARIABLE in /home/liuzhichao/test/awktest/a.php on line 3
PHP Parse error:  syntax error, unexpected T_STRING, expecting ')' in /home/liuzhichao/test/levelcity.php on line 19

热门栏目