PHP检查语法错误技巧

2016-10-09 10:34

1.使用命令行检查php语法错误:

 

   php的命令行模式参考::http://www.yesky.com/imagesnew/software/php/zh/features.commandline.html

   $php -l t.php

 

   t.php代码:

 

  1. <?php  
  2.  echo 'this is a' test file';  
  3. ?>  
 

  运行 php -l php之后:Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in t.php on line 2

 

   将修改正确的代码重新运行 ,结果为:No syntax errors detected in t.php

 

2.

  1. <?PHP    
  2. if(!function_exists('PHP_check_syntax')) {    
  3. function PHP_check_syntax($file_name, &$error_message = null) {    
  4.     $file_content = file_get_contents($file_name);   
  5.     //echo $file_content;  
  6.     $check_code = "return true; ?>";     
  7.     $file_content = $check_code .$file_content . "<?php ";   
  8.     echo "<br>file_content::",$file_content;  
  9.     if(!@eval($file_content)) {    
  10.         $error_message = "file: " .   
  11.         realpath($file_name) . " have syntax error";    
  12.         return false;    
  13.     }    
  14.     return true;    
  15.     }    
  16. }    
  17. if(!PHP_check_syntax("b.php"$msg)) {    
  18.     echo $msg;    
  19. }else {    
  20.     echo "Woohoo, OK!";    
  21. }   
 

 

 

3.php手册中有这个函数 php_check_syntax()函数 但是:注意: For technical reasons, this function is deprecated and removed from PHP. Instead, use php -l somefile.php from the commandline.

^