php-cs-fixer 升级到版本 8 后出现的问题

knu*_*bbe 1 php php-cs-fixer php-8

升级到 php8 后,我遇到了一个问题php-cs-fixer,我通过Composer全局安装。现在我无法使用,php-cs-fixer因为每次我得到:

PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 7.4.*.
To ignore this requirement please set `PHP_CS_FIXER_IGNORE_ENV`.
Run Code Online (Sandbox Code Playgroud)

对于 php 升级和使用不同版本的 php,我使用https://github.com/shivammathur/homebrew-php

对于以前版本的 php (7.4),一切正常。

小智 6

https://cs.symfony.com/doc/usage.html#environment-options

PHP_CS_FIXER_IGNORE_ENV=1 php php-cs-fixer.phar fix /path/to/dir


knu*_*bbe 5

支持 PHP 8 的第一个 php-cs-fixer版本是 2.18版,于 2021 年 1 月 18 日发布。


Maj*_*jid -3

在文件中:./vendor/bin/php-cs-fixer

删除下面的代码(从第 26 行开始):

elseif (!defined('PHP_VERSION_ID') || \PHP_VERSION_ID < 50600 || \PHP_VERSION_ID >= 70500) {
    fwrite(STDERR, "PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 7.4.*.\n");

    if (getenv('PHP_CS_FIXER_IGNORE_ENV')) {
        fwrite(STDERR, "Ignoring environment requirements because `PHP_CS_FIXER_IGNORE_ENV` is set. Execution may be unstable.\n");
    } else {
        exit(1);
    }
}

Run Code Online (Sandbox Code Playgroud)

这是一个快速修复,但它会让您恢复正常运行。