vscode visual unable studio phpcs mac linter failed executablepath configurar code php macos codesniffer

visual - PHP CodeSniffer include_once error



unable to locate phpcs vscode (11)

Estoy tratando de instalar PHP CodeSniffer en OS X Mountain Lion - y parece que tengo un problema extraño

Al ejecutar ''phpcs'' obtengo el siguiente error:

PHP Warning: include_once(PHP/CodeSniffer/CLI.php): failed to open stream: No such file or directory in /usr/lib/php/pear/bin/phpcs on line 31 PHP Warning: include_once(): Failed opening ''PHP/CodeSniffer/CLI.php'' for inclusion (include_path=''.;/usr/lib/php/pear/share/pear/'') in /usr/lib/php/pear/bin/phpcs on line 31 PHP Fatal error: Class ''PHP_CodeSniffer_CLI'' not found in /usr/lib/php/pear/bin/phpcs on line 34

El archivo /usr/lib/php/pear/share/pear/PHP/CodeSniffer/CLI.php existe, lo que me confunde



En mi caso, habiendo instalado PHP-OSX , tuve que arreglar el enlace simbólico así:

cd /usr/local/php5/lib/php/PHP

y entonces:

ln -s /usr/local/share/pear/PHP/CodeSniffer ln -s /usr/local/share/pear/PHP/CodeSniffer.php


En mi configuración, la ruta PHP / simplemente no estaba donde phpcs lo esperaba. Lo resolví creando un enlace simbólico a la ruta faltante.

Vaya al directorio de peras y ejecute:

ln -s share/pear/PHP/ PHP


Encontré el problema: estaba usando el separador de Windows (punto y coma) en include_path en lugar de Unix (colon), por lo que debería haber sido:

.:/usr/lib/php/pear/share/pear/

en lugar de

.;/usr/lib/php/pear/share/pear/


Esta D:/wamp/bin/php/php_VERSION/phpcs funcionó para mí en wamp

if (is_file(dirname(__FILE__).''/../CodeSniffer/CLI.php'') === true) { include_once dirname(__FILE__).''/../CodeSniffer/CLI.php''; } else if (is_file(dirname(__FILE__).''/pear/PHP/CodeSniffer/CLI.php'') === true) { include_once dirname(__FILE__).''/pear/PHP/CodeSniffer/CLI.php''; } else { include_once ''PHP/CodeSniffer/CLI.php''; } $cli = new PHP_CodeSniffer_CLI(); $cli->runphpcs();


Lo resolví agregando la ruta correcta al otro directorio que PHP escanea en busca de archivos INI (aparece en phpinfo.php). Ejecuta estos tres comandos desde la Terminal:

sudo mkdir -p /Library/Server/Web/Config/php sudo touch /Library/Server/Web/Config/php/local.ini echo ''include_path = ".:''`pear config-get php_dir`''"'' | sudo tee -a /Library/Server/Web/Config/php/local.ini


Por lo que vale la pena, instalé PHP usando homebrew (OS X). La primera instalación fue 5.6.3, pero se actualizó con el tiempo. El archivo ini predeterminado, puede encontrar la ubicación del archivo con:

php -i | grep ini

en osx - todavía tenía referencias de ruta a 5.6.3. Cuando actualicé estos, específicamente la ruta de inclusión, todo funcionó bien; no se requieren enlaces simbólicos.


Quizás esta no sea la mejor solución, pero no requiere ningún cambio en su camino o cualquier otra cosa. En el archivo phpcs encontrarás una sección con:

if (is_file(dirname(__FILE__).''/../CodeSniffer/CLI.php'') === true) { include_once dirname(__FILE__).''/../CodeSniffer/CLI.php''; else { include_once ''PHP/CodeSniffer/CLI.php''; }

Simplemente agregue un nuevo más si con su ruta al archivo correcto CLI.php (es decir, ''/usr/local/pear/shear/pear/PHP/CodeSniffer/CLI.php''):

if (is_file(dirname(__FILE__).''/../CodeSniffer/CLI.php'') === true) { include_once dirname(__FILE__).''/../CodeSniffer/CLI.php''; } else if (is_file(''/usr/local/pear/share/pear/PHP/CodeSniffer/CLI.php'')) { include_once ''/usr/local/pear/share/pear/PHP/CodeSniffer/CLI.php''; } else { include_once ''PHP/CodeSniffer/CLI.php''; }

Por último, pero no menos importante, documente este cambio para versiones y actualizaciones posteriores. Al final, la solución debe ser que el desarrollador de PHPCS realice una construcción más sólida para encontrar el CLI.php


Recibí este error al usar PHP CodeSniffer instalado a través de Composer .

Lo arreglamos con:

cd /path/to/app rm -rf vendor/ composer update


Si está utilizando MAMP, incluya esto en su ruta:

export PATH=/Applications/MAMP/bin/php/php5.X.XX/lib/php:$PATH

reemplazando 5.X.XX con su versión php. En mi caso esto fue:

export PATH=/Applications/MAMP/bin/php/php5.4.26/lib/php:$PATH


Tuve este problema al intentar ejecutar phpcs como un usuario no privilegiado, habiéndolo instalado a través de PEAR, como root.

La solución para mí fue cambiar los permisos para que el usuario sin privilegios pudiera acceder a las dependencias:

chmod -R o+rx /usr/local/lib/php/