|
1 | | -PHP_CodeSniffer 4.x requires PHP 7.2.0 or greater. |
| 1 | +PHP_CodeSniffer 4.x requires **PHP 7.2.0 or greater**. |
2 | 2 | _Prior to PHP_CodeSniffer 4.0.0, the minimum PHP requirement was 5.4.0._ |
3 | 3 |
|
4 | 4 | Additionally, PHP_CodeSniffer requires the following PHP extensions to be enabled: |
5 | | -- [Tokenizer][tokenizer]: used by the core tokenizer to process PHP files |
6 | | -- [SimpleXML][simplexml]: used to process ruleset XML files |
7 | | -- [XMLWriter][xmlwriter]: used to create some report formats |
8 | | -- [libxml]: required by the SimpleXML and XMLWriter extensions |
| 5 | +- **[Tokenizer][tokenizer]**: used by the core tokenizer to process PHP files |
| 6 | +- **[SimpleXML][simplexml]**: used to process ruleset XML files |
| 7 | +- **[XMLWriter][xmlwriter]**: used to create some report formats |
| 8 | +- **[libxml]**: required by the SimpleXML and XMLWriter extensions |
9 | 9 |
|
10 | | -The following PHP extensions are not required, but are strongly recommended: |
11 | | -- [DOM][dom]: used for displaying the sniff documentation via the `--generator=...` option. |
12 | | -- [iconv]: used for accurate character length calculation in files containing multibyte characters. Without this extension, some sniffs, like `Generic.Files.LineLength`, may report incorrect results for lines containing non-ASCII characters, as PHP_CodeSniffer will fall back to byte-based length calculations. Additionally, the following reports may not work correctly without this extension: [Checkstyle][wiki-report-checkstyle], [JUnit][wiki-report-junit] and [XML][wiki-report-xml]. |
13 | | -- [json]: required for the cache functionality, as well as for the [JSON report][wiki-report-json] output. |
14 | | -- [PCNTL][pcntl]: required for parallel processing via the `--parallel` CLI option. Without this extension, PHP_CodeSniffer will not be able to check multiple files simultaneously. |
| 10 | +The following PHP extensions are not required, but are **_strongly recommended_**: |
| 11 | +- **[DOM][dom]**: used for displaying the sniff documentation via the `--generator=...` option. |
| 12 | +- **[iconv]**: used for accurate character length calculation in files containing multibyte characters. |
| 13 | + Without this extension, some sniffs, like `Generic.Files.LineLength`, may report incorrect results for lines containing non-ASCII characters, as PHP_CodeSniffer will fall back to byte-based length calculations. |
| 14 | + Additionally, the following reports may not work correctly without this extension: [Checkstyle][wiki-report-checkstyle], [JUnit][wiki-report-junit] and [XML][wiki-report-xml]. |
| 15 | +- **[json]**: required for the cache functionality, as well as for the [JSON report][wiki-report-json] output. |
| 16 | +- **[PCNTL][pcntl]**: required for parallel processing via the `--parallel` CLI option. |
| 17 | + Without this extension, PHP_CodeSniffer will not be able to check multiple files simultaneously. |
15 | 18 |
|
16 | 19 | Individual sniffs may have additional requirements such as external applications and scripts. See the [Configuration Options][wiki-config] manual page for a list of these requirements. |
17 | 20 |
|
18 | 21 | > [!WARNING] |
19 | | -> The [gRPC PHP extension][grpc] is known to cause PHP_CodeSniffer to hang when running with parallel processing enabled. If the gRPC extension is loaded, either do not use the `--parallel` CLI option or configure the extension's ini settings as follows: |
| 22 | +> The **[gRPC PHP extension][grpc]** is known to cause PHP_CodeSniffer to hang when running with parallel processing enabled. If the gRPC extension is loaded, either do not use the `--parallel` CLI option or configure the extension's ini settings as follows: |
20 | 23 | > ```text |
21 | 24 | > phpcs -d grpc.enable_fork_support=1 -d grpc.poll_strategy=epoll1 [other options] <file|directory> |
22 | 25 | > ``` |
|
0 commit comments