Skip to content

phpcs does not work when run from WSL drives #3388

Closed
@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

Activity

gwharton

gwharton commented on Jul 15, 2021

@gwharton
Author

FIX

--- ./src/Config.orig.php	2021-07-15 10:47:29.220000000 +0100
+++ ./src/Config.php	2021-07-15 10:45:27.980000000 +0100
@@ -1656,7 +1656,7 @@
             return [];
         }

-        if (is_readable($configFile) === false) {
+        if (Util\Common::isReadable($configFile) === false) {
             $error = 'ERROR: Config file '.$configFile.' is not readable'.PHP_EOL.PHP_EOL;
             throw new DeepExitException($error, 3);
         }
jrfnl

jrfnl commented on Sep 6, 2021

@jrfnl
Contributor

@gwharton I've created PR #3428 to address this. Testing appreciated.

added this to the 3.6.2 milestone on Sep 29, 2021
added a commit that references this issue on Nov 1, 2021
gsherwood

gsherwood commented on Nov 1, 2021

@gsherwood
Member

Thanks for this bug report and for posting one of the fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Participants

      @gsherwood@jrfnl@gwharton

      Issue actions

        phpcs does not work when run from WSL drives · Issue #3388 · squizlabs/PHP_CodeSniffer