gpt4 book ai didi

php-5.3 - 为什么 PHP CodeSniffer 卡住?

转载 作者:行者123 更新时间:2023-12-02 16:35:26 31 4
gpt4 key购买 nike

我是我工作的初级程序员。我们的网站是使用 PHP 4 编写的。我们正在从 PHP 4 迁移到 PHP 5.3。大约 595 个目录中有大约 5000 个 PHP 文件。因此,正如您可以想象的那样,这个项目的范围相当巨大。

我们使用 Subversion 进行版本控制。我有两个单独的结帐处。我有两个虚拟机充当单独的 Web 主机 - 一个堆栈模拟我们实际的 Web 服务器(CentOS 4、PHP4 等),另一个是 PHP 5.3 堆栈(Ubuntu 12.04 LTS)。

我花时间使用以下命令检查文件是否存在基本语法错误:

编辑:我从网站的根目录运行了以下递归搜索。

find ./ -type f -name \*.php -exec php -l {} \; < ~/php5_basic_syntax_assessment.txt
find ./ -type f -name \*.inc -exec php -l {} \; < ~/php5_basic_syntax_inc_assessment.txt

我意识到使用 php -l 检查基本语法不会显示已弃用的代码结构/函数,也不会提供警告(IE:使用 preg_slice() 而不是 slice())。因此,我决定安装 PHP CodeSniffer。

首先,我安装了 PEAR:[我接受了所有默认参数]

cd ~/
mkdir pear
cd pear
wget http://pear.php.net/go-pear.phar
php go-pear.phar

接下来,我安装了 git:

cd ~/
sudo apt-get update
sudo apt-get install git

接下来,我安装了 PHP Code Sniffer

pear install PHP_CodeSniffer

最后,我为 PHP 代码嗅探器安装了以下 PHP 5.3 兼容性标准:

git clone git://github.com/wimg/PHP53Compat_CodeSniffer.git PHP53Compatibility

我执行了上述所有操作,以便能够以自动化的方式评估 5K PHP 文件。手动检查每个文件以确保它们遵循 PHP 5.3 编码标准将是极其乏味且耗时的。

最后,这是我用来运行 PHP 代码嗅探器的命令:

phpcs --standard=/home/my_user_name/PHP53Compatibility -p --report-file=/home/my_user_name/php53_assessment.txt /path/to/web/root

为了确保特定标准不是问题,我还使用默认标准运行了 PHP 代码嗅探器:

phpcs -p --report-file=/home/my_user_name/php53_assessment.txt /path/to/web/root

无论哪种方式,报告都会卡住在同一个地方。我已经超过24小时没有 sleep 了。我等了 18 个小时才使用 CTRL+C 停止第一次运行。第二个仍在运行,并且已经运行了大约一个半小时。

那么,是什么导致我的 PHP 代码嗅探器卡住?

非常感谢所有帮助。

最佳答案

有点晚了,但我遇到了同样的问题。将文件限制为仅 PHP 文件应该可以解决问题:phpcs -p -- ./**/*.php

关于php-5.3 - 为什么 PHP CodeSniffer 卡住?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20219657/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com