knubbe
knubbe

Reputation: 1182

Problem with php-cs-fixer after upgrade php to version 8

After upgrade to php8 I have a problem with php-cs-fixer which I installed globally via composer. Right now I can not use php-cs-fixer because every time I get:

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`.

For php upgrade and usage different version of php I use https://github.com/shivammathur/homebrew-php

For previous version of php (7.4) everything works fine.

Upvotes: 9

Views: 17077

Answers (4)

Kedar Khaire
Kedar Khaire

Reputation: 36

The PHP_CS_FIXER_IGNORE_ENV environment variable can be used to ignore any environment requirements. This includes requirements like missing PHP extensions, unsupported PHP versions or by using HHVM.

NOTE: Execution may be unstable when used.

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

Exit code of the fix command is built using following bit flags:

0 - OK.

1 - General error (or PHP minimal requirement not matched).

4 - Some files have invalid syntax (only in dry-run mode).

8 - Some files need fixing (only in dry-run mode).

16 - Configuration error of the application.

32 - Configuration error of a Fixer.

64 - Exception raised within the application.

Upvotes: 0

FulgerX2007
FulgerX2007

Reputation: 71

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

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

Upvotes: 7

knubbe
knubbe

Reputation: 1182

The first version of php-cs-fixer to support PHP 8 was Version 2.18 released on 18th Jan 2021.

Upvotes: 8

Majid
Majid

Reputation: 383

In the file: ./vendor/bin/php-cs-fixer

Remove the code below (starting at line 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);
    }
}

It's a quick fix, but it will get you back up and running.

Upvotes: -3

Related Questions