Skip to content

phpcs does not work when run from WSL drives #3388

@gwharton

Description

@gwharton

Describe the bug
When the project (including phpcs vendor folder) is run from a windows network drive (either mapped to drive, or by Path) phpcs cannot be run as it believes the config is not readable.

Code sample
N/A

Custom ruleset
N/A

To reproduce
Steps to reproduce the behavior:

  1. Create project on mapped network drive
  2. Run phpcs --version
  3. See error message displayed
ERROR: Config file \\WSL$\UBUNTU\home\ubuntu\www\vendor\squizlabs\php_codesniffer\CodeSniffer.conf is not readable
ERROR: Config file U:\home\ubuntu\www\vendor\squizlabs\php_codesniffer\CodeSniffer.conf is not readable

Expected behavior
It should work

Versions (please complete the following information):

  • OS: Windows 10 with WSL
  • PHP: 7.4.21
  • PHPCS: 3.6.0
  • Standard: N/A

Additional context
It is the same issue with php's is_readable function that was worked round with this fix. d56e167

is_readable is called here.

PHP_CodeSniffer/src/Config.php

Lines 1659 to 1662 in b6d6556

if (is_readable($configFile) === false) {
$error = 'ERROR: Config file '.$configFile.' is not readable'.PHP_EOL.PHP_EOL;
throw new DeepExitException($error, 3);
}

is_readable should be changed to Util\Common::isReadable as per previous fix

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions