检查整个目录php语法错误脚本
更新:HHH   时间:2023-1-7


其实也可以检查其他语言的语法错误,把代码内的php -l 换了就行

#! /bin/bash
#
# check_php_syntax.sh
# Copyright (C) 2014 <http://superfly81.blog.51cto.com/>
#
# Distributed under terms of the MIT license.
#


#!/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
echo $directory
temp_file="/tmp/file$$"
echo $temp_file

ls -R $directory | awk  '
BEGIN{
FS="n"    
folder="'$directory'"
logname="'$temp_file'"
temp=""
}

{
    if($0~/.php$/){
        system("php -l " folder "/" $0  "   >>  " logname  " 2>&1")  
    }
    if($0~/:$/){
        temp=substr($0,1,length($0)-1)
        folder=temp
    }
}
'
#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


返回web开发教程...