卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章1829本站已运行4109

适用于 Unix/Linux 系统上的 PHP 项目维护或开发环境中的语法错误检查

#!/bin/bash

# 指定要检查的文件夹路径
DIRECTORY="/www/wwwroot/75utf8.com/php8"

# 指定输出文件
OUTPUT_FILE="111.txt"

# 清空输出文件,以免之前的运行结果干扰
> "$OUTPUT_FILE"

# 使用find命令递归地查找所有.php文件
find "$DIRECTORY" -name "*.php" | while read -r FILE; do
  # 使用php -l检查语法
  output=$(php -l "$FILE" 2>&1)
  # 检查输出中是否包含"没有错误"的特征
  if ! echo "$output" | grep -q 'No syntax errors detected in'; then
    # 如果没有"没有错误"的特征,输出文件名和错误信息
    echo "$FILE" >> "$OUTPUT_FILE"
    echo "$output" >> "$OUTPUT_FILE"
    echo "-----------------------------------" >> "$OUTPUT_FILE"
  fi
done
这个脚本是用 Bash(一种常见的 Unix shell 和脚本语言)编写的。
它的主要作用是递归检查指定目录下所有 PHP 文件的语法,并将有语法错误的文件及错误信息保存到指定的输出文件中。具体功能如下:
指定目录:通过 DIRECTORY="/www/wwwroot/75utf8.com/php8" 来设置需要检查的 PHP 文件所在的文件夹路径。
输出文件:通过 OUTPUT_FILE="111.txt" 设置语法错误的文件和对应错误信息的输出文件。
清空输出文件:用 > "$OUTPUT_FILE" 确保每次运行脚本时,输出文件从空白开始,以避免之前的内容干扰。
查找文件:通过 find "$DIRECTORY" -name "*.php" 命令递归查找指定目录下所有的 PHP 文件。
PHP 语法检查:通过 php -l "$FILE" 检查 PHP 文件语法,并通过 grep 判断输出中是否有 "No syntax errors detected in"(即没有语法错误的提示)。
保存错误:如果发现语法错误,将错误文件名和错误信息写入到 111.txt 文件中。
这是一个典型的 Bash 脚本,适用于 Unix/Linux 系统上的 PHP 项目维护或开发环境中的语法错误检查。
卓越飞翔博客
上一篇: Python 图像识别点击 [图像识别自动点击按键精灵]
下一篇: 解码ncm文件为mp3文件
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏