php专区

 首页 > php专区 > PHP应用 > 常用功能 > shell 脚本检查某目录下php文件语法 - php高级应用

shell 脚本检查某目录下php文件语法 - php高级应用

分享到:
【字体:
导读:
          利用php的自带检查文件方法 php -l 来使用shell 批量检查某目录下的文件,每次写完脚本都要 php -l 一下,看看有没有发生低级的语法错误,(疏忽过导致事故),写了个简单的shell 脚本批量检查目...

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

利用php的自带检查文件方法 php -l 来使用shell 批量检查某目录下的文件,每次写完脚本都要 php -l 一下,看看有没有发生低级的语法错误,(疏忽过导致事故),写了个简单的shell 脚本批量检查目录下的 php文件语法,代码如下:

  1. check_php_syntax.sh 
  2.  
  3. #!/bin/bash 
  4. # check php syntax  
  5. if [ $# -lt 1 ];then 
  6.     echo 'Usage: ' $0  'directory'
  7.     exit 
  8. fi 
  9. if [ ! -d $1 ];then 
  10.     echo $1  'not a directory,please check!'
  11.     exit 
  12. fi 
  13. directory=$1 
  14. temp_file="/tmp/file$$" 
  15. #echo $temp_file 
  16. ls -R $directory | awk  ' 
  17.     BEGIN{ 
  18.         FS="n"     
  19.         folder="'$directory'" 
  20.         logname="'$temp_file'" 
  21.     } 
  22.     { 
  23.         if($0~/.php$/){ 
  24.             system("php -l " folder "/" $0  "   >>  " logname  " 2>&1")   
  25.         } 
  26.         if($0~/:$/){ 
  27.             folder=substr($1,1,length($1)-1) 
  28.         } 
  29.     } 
  30. if [ -e $temp_file ];then 
  31.     cat $temp_file | awk ' 
  32.         BEGIN{ 
  33.             error = 0 
  34.        } 
  35.         { 
  36.             if($0~/Parse/) { 
  37.                 error++  
  38.                 errorfile[$0] = $0 
  39.             }    
  40.         } 
  41.         END
  42.             print "错误文件:" error "个" 
  43.             if(length(errorfile)>0) print "错误行数:" 
  44.                 for (i in errorfile) 
  45.                     print i 
  46.         } 
  47.     ' 
  48. else 
  49.     echo "php file not found." 
  50.     exit
  51. 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

分享到:
PHP判断ajax请求类型(HTTP_X_REQUESTED_W...
PHP判断ajax请求类型(HTTP_X_REQUESTED_WITH) 在jquery中的ajax请求方法有很多,可是$.ajax, $.get, or $.post,并且他可以是json,html,txt等格式,这样我们需要在php根据ajax发送过来的HTTP_X_REQUESTED_WITH是否为ajax请求,然后再根据$_SERVER[\'HTTP_ACCEPT\']检判断是那格式的请...
PHP数据采集程序采集天气网数据实例演示 ...
PHP数据采集程序采集天气网数据实例演示 前言:我们在写一个Web程序的时候,总会想着把自己的网站更美观一些,功能能更多一些,有时候写一些小的工具或者加上小的插件会让我们的站点更加完善,比如万年历功能,比如我们现在要讲的天气预报功能. 当然我们没法利用专业的卫星接受数据,所以我们的天...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……