squizlabs / PHP_CodeSniffer

PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.
BSD 3-Clause "New" or "Revised" License
10.66k stars 1.48k forks source link

php code sniffer not working in windows 8.1 xampp , php version 5.6 #1729

Closed pavanyogi closed 6 years ago

pavanyogi commented 6 years ago

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcbf C:\xampp\htdocs\my_work\csv_to_mysql\csv_to_mysql.php

PHP Fatal error: Uncaught exception 'PHP_CodeSniffer\Exceptions\RuntimeException' with message 'file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer\C:\xa mpp\htdocs\my_work\csv_to_mysql\csv_to_mysql.php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php on lin e 90' in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:557 Stack trace:

0 [internal function]: PHP_CodeSniffer\Runner->handleErrors(2, 'file_put_conten...', 'C:\xampp\htdocs...', 90, Array)

1 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php(90): file_put_contents('C:\xampp\htdocs...', '<?php\n// import...')

2 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reporter.php(262): PHP_CodeSniffer\Reports\Cbf->generateFileReport(Array, Object(PHP_CodeSniffer\Files\LocalFile)

, false, 0)

3 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php(606): PHP_CodeSniffer\Reporter->cacheFileReport(Object(PHP_CodeSniffer\Files\LocalFile), Object(PHP_Co

deSniffer\Config))

4 C:\xampp\htdocs\my_work\PHP_CodeS in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php on line 557

Fatal error: Uncaught exception 'PHP_CodeSniffer\Exceptions\RuntimeException' with message 'file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer\C:\xampp\h tdocs\my_work\csv_to_mysql\csv_to_mysql.php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php on line 90' in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php on line 557

PHP_CodeSniffer\Exceptions\RuntimeException: file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer\C:\xampp\htdocs\my_work\csv_to_mysql\csv_to_mysql.php): f ailed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php on line 90 in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\ Runner.php on line 557

Call Stack: 0.0003 119568 1. {main}() C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\phpcbf:0 0.0047 296608 2. PHP_CodeSniffer\Runner->runPHPCBF() C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\phpcbf:18 0.4920 4710528 3. PHP_CodeSniffer\Runner->run() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:193 0.5218 5384552 4. PHP_CodeSniffer\Runner->processFile() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:394 0.5640 5653168 5. PHP_CodeSniffer\Reporter->cacheFileReport() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:606 0.5641 5672216 6. PHP_CodeSniffer\Reports\Cbf->generateFileReport() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reporter.php:262 0.7576 5710456 7. file_put_contents() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php:90 0.7582 5713520 8. PHP_CodeSniffer\Runner->handleErrors() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php:90

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>

jrfnl commented 6 years ago

Try this: C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcbf ./../csv_to_mysql/csv_to_mysql.php

pavanyogi commented 6 years ago

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcbf ./../csv_to_mysql/csv_to_mysql.php

ERROR: The file "./../csv_to_mysql/csv_to_mysql.php" does not exist.

Run "phpcbf --help" for usage information

===============

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcbf ../../csv_to_mysql/csv_to_mysql.php

PHP Fatal error: Uncaught exception 'PHP_CodeSniffer\Exceptions\RuntimeException' with message 'file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer/C:\xa mpp\htdocs\my_work\PHP_CodeSniffer\C:\xampp\htdocs\my_work\csv_to_mysql\csv_to_mysql.php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PH P_CodeSniffer\src\Reports\Cbf.php on line 91' in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:557 Stack trace:

0 [internal function]: PHP_CodeSniffer\Runner->handleErrors(2, 'file_put_conten...', 'C:\xampp\htdocs...', 91, Array)

1 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php(91): file_put_contents('C:\xampp\htdocs...', '<?php\n// import...')

2 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reporter.php(262): PHP_CodeSniffer\Reports\Cbf->generateFileReport(Array, Object(PHP_CodeSniffer\Files\LocalFile)

, false, 150)

3 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php(606): PHP_CodeSniffer\Reporter->cacheFileReport(Object(PHP_CodeSniffer\Files\LocalFile), Object(PHP_Co

deSniffer\Con in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php on line 557

Fatal error: Uncaught exception 'PHP_CodeSniffer\Exceptions\RuntimeException' with message 'file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer/C:\xampp\h tdocs\my_work\PHP_CodeSniffer\C:\xampp\htdocs\my_work\csv_to_mysql\csv_to_mysql.php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_Cod eSniffer\src\Reports\Cbf.php on line 91' in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php on line 557

PHP_CodeSniffer\Exceptions\RuntimeException: file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer/C:\xampp\htdocs\my_work\PHP_CodeSniffer\C:\xampp\htdocs\m y_work\csv_to_mysql\csv_to_mysql.php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php on line 91 in C:\x ampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php on line 557

Call Stack: 0.0003 120288 1. {main}() C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\phpcbf:0 0.0049 297328 2. PHP_CodeSniffer\Runner->runPHPCBF() C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\phpcbf:18 0.3032 4711256 3. PHP_CodeSniffer\Runner->run() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:193 0.3317 5385552 4. PHP_CodeSniffer\Runner->processFile() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:394 0.3764 5654168 5. PHP_CodeSniffer\Reporter->cacheFileReport() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:606 0.3765 5673232 6. PHP_CodeSniffer\Reports\Cbf->generateFileReport() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reporter.php:262 0.5639 5711320 7. file_put_contents() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php:91 0.5646 5714504 8. PHP_CodeSniffer\Runner->handleErrors() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php:91

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>

123

pavanyogi commented 6 years ago

not working either way

jrfnl commented 6 years ago

Sorry, I made a typo in the path (but then again, you could have checked that yourself ...): C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcbf ./../..csv_to_mysql/csv_to_mysql.php

pavanyogi commented 6 years ago

csv_to_mysql.php file is present in the same directory where phpcbf is present , still same problem

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcbf csv_to_mysql.php

PHP Fatal error: Uncaught exception 'PHP_CodeSniffer\Exceptions\RuntimeException' with message 'file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer/C:\xa mpp\htdocs\my_work\PHP_CodeSniffer\bin\csv_to_mysql.php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php on line 91' in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:557 Stack trace:

0 [internal function]: PHP_CodeSniffer\Runner->handleErrors(2, 'file_put_conten...', 'C:\xampp\htdocs...', 91, Array)

1 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php(91): file_put_contents('C:\xampp\htdocs...', '<?php\n// import...')

2 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reporter.php(262): PHP_CodeSniffer\Reports\Cbf->generateFileReport(Array, Object(PHP_CodeSniffer\Files\LocalFile)

, false, 150)

3 C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php(606): PHP_CodeSniffer\Reporter->cacheFileReport(Object(PHP_CodeSniffer\Files\LocalFile), Object(PHP_Co

deSniffer\Config))

4 C:\xampp\htdocs\my_work\ in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php on line 557

Fatal error: Uncaught exception 'PHP_CodeSniffer\Exceptions\RuntimeException' with message 'file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer/C:\xampp\h tdocs\my_work\PHP_CodeSniffer\bin\csv_to_mysql.php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php on l ine 91' in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php on line 557

PHP_CodeSniffer\Exceptions\RuntimeException: file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer/C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\csv_to_mysql. php): failed to open stream: Invalid argument in C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php on line 91 in C:\xampp\htdocs\my_work\PHP_CodeSniff er\src\Runner.php on line 557

Call Stack: 0.0003 120272 1. {main}() C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\phpcbf:0 0.0069 297328 2. PHP_CodeSniffer\Runner->runPHPCBF() C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\phpcbf:18 0.4056 4711368 3. PHP_CodeSniffer\Runner->run() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:193 0.4501 5385656 4. PHP_CodeSniffer\Runner->processFile() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:394 0.4916 5654280 5. PHP_CodeSniffer\Reporter->cacheFileReport() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Runner.php:606 0.4917 5673312 6. PHP_CodeSniffer\Reports\Cbf->generateFileReport() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reporter.php:262 0.6923 5711664 7. file_put_contents() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php:91 0.6930 5714752 8. PHP_CodeSniffer\Runner->handleErrors() C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php:91

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin> 123

pavanyogi commented 6 years ago

I think this is not path related problem, problem is somewhere else.

jrfnl commented 6 years ago

I think this is not path related problem, problem is somewhere else.

The reason why that's where I started with my suggestions is this snippet in your debug output: file_put_contents(C:\xampp\htdocs\my_work\PHP_CodeSniffer/C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin\csv_to_mysql.php

Could possibly be a path resolution issue internally in PHPCS though.

All the same: what version of PHPCS are you using ?

I'm on Windows myself and haven't got any problems running the fixer.

pavanyogi commented 6 years ago

This is the version C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcs --version

PHP_CodeSniffer version 3.1.1 (stable) by Squiz (http://www.squiz.net)

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>

i have cloned it from url git clone https://github.com/squizlabs/PHP_CodeSniffer.git

gsherwood commented 6 years ago

It would be good if you could add -vv to the command and paste that output. I'm wondering if the paths looks correct there, and if the basepath is possibly being set.

gsherwood commented 6 years ago

Probably also useful to see what you get if you just run PHPCS; do the paths looks wrong there as well?

pavanyogi commented 6 years ago

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcs -vv csv_to_mysql.php
--output--- phpcs_output.txt

pavanyogi commented 6 years ago

C:\xampp\htdocs\my_work\PHP_CodeSniffer\bin>php phpcbf -vv csv_to_mysql.php > phpcbf_output.txt --output-- phpcbf_output.txt

gsherwood commented 6 years ago

Could you open up this file: C:\xampp\htdocs\my_work\PHP_CodeSniffer\phpcs.xml.dist

And remove this line: <arg name="basepath" value="."/> (probably line 12)

That will remove the basepath setting for the PHPCS standard you are using. Run PHPCBF again and see if there is any change. I just want to try and rule out the . basepath being expanded incorrectly.

pavanyogi commented 6 years ago

It is working now , In file C:\xampp\htdocs\my_work\PHP_CodeSniffer\src\Reports\Cbf.php , I changed this line file_put_contents($phpcsFile->config->basepath.'/'.$newFilename, $newContent); to file_put_contents($newFilename, $newContent);