Falscher include_path für Codesniffer

Wurde dieses Problem angesprochen werden, bevor und ich habe versucht, Lösungen angeboten und denke, ich mache etwas falsch. Ich bin versucht zu konfigurieren, PHP Codesniffer auf einem Mac mit Mountaion Lion. Ich glaube nicht, dass es darauf ankommt, aber ich ma mit XAMMP. Ich erhalte die folgende Fehlermeldung, wenn ich laufen phpcs.

Warning: include_once(PHP/CodeSniffer/CLI.php): failed to open stream: No such file or directory in /usr/bin/phpcs on line 31

Warning: include_once(): Failed opening 'PHP/CodeSniffer/CLI.php' for inclusion (include_path='.:') in /usr/bin/phpcs on line 31

Fatal error: Class 'PHP_CodeSniffer_CLI' not found in /usr/bin/phpcs on line 34

Dieser Fehler, bezogen auf alle, die suchen, ist aufgrund einer falschen include_path in php.ini.
So wie ich das verstehe, ist dieser Pfad sollte das Verzeichnis, in dem pear befindet. Wenn ich
pear config-get php_dir es gibt /usr/lib/php/pear, die ich erwartet.
Also modifizierte ich die php.ini-Datei (diese Datei ist die einzige php.ini auf dem system, so ist es nicht, greift die Einstellung aus einer anderen Datei) zu Lesen:

include_path = ".:/usr/lib/php/pear/"

Sieht dies richtig, aber ich bekomme immer den gleichen Fehler. Ich habe entfernt die führenden .: und die, die nicht helfen...und es nicht funktionieren sollte. Ich habe auch entfernt die nachfolgende /und dasselbe Ergebnis.
Beachten Sie, dass phpcs ist im usr/bin Verzeichnis.
Unten ist das Ergebnis der Ausführung pear config-show

Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels     auto_discover    1
Default Channel                default_channel  pear.php.net
HTTP Proxy Server Address      http_proxy       <not set>
PEAR server [DEPRECATED]       master_server    pear.php.net
Default Channel Mirror         preferred_mirror pear.php.net
Remote Configuration File      remote_config    <not set>
PEAR executables directory     bin_dir          /usr/bin
PEAR documentation directory   doc_dir          /usr/lib/php/pear/docs
PHP extension directory        ext_dir          /usr/lib/php/extensions/no-debug-non-zts-20090626
PEAR directory                 php_dir          /usr/lib/php/pear
PEAR Installer cache directory cache_dir        /private/tmp/pear/cache
PEAR configuration file        cfg_dir          /usr/lib/php/pear/cfg
directory
PEAR data directory            data_dir         /usr/lib/php/pear/data
PEAR Installer download        download_dir     /private/tmp/pear/download
directory
PHP CLI/CGI binary             php_bin          /usr/bin/php
php.ini location               php_ini          /private/etc/php.ini
--program-prefix passed to     php_prefix       <not set>
PHP's ./configure
--program-suffix passed to     php_suffix       <not set>
PHP's ./configure
PEAR Installer temp directory  temp_dir         /JimS/temp
PEAR test directory            test_dir         /usr/lib/php/pear/tests
PEAR www files directory       www_dir          /usr/lib/php/pear/www
Cache TimeToLive               cache_ttl        3600
Preferred Package State        preferred_state  stable
Unix file mask                 umask            22
Debug Log Level                verbose          1
PEAR password (for             password         <not set>
maintainers)
Signature Handling Program     sig_bin          /usr/local/bin/gpg
Signature Key Directory        sig_keydir       /private/etc/pearkeys
Signature Key Id               sig_keyid        <not set>
Package Signature Type         sig_type         gpg
PEAR username (for             username         <not set>
maintainers)
User Configuration File        Filename         /Users/JimS/.pearrc
System Configuration File      Filename         /private/etc/pear.conf

Irgendwelche Ideen? Ich bin anfällig für Tippfehler, so dass immer eine Möglichkeit, so dass alles, was ich setzen hier ist Ausschneiden/einfügen.

  • Beim ändern der include_path ist, ist die Fehlermeldung ändern, um zu zeigen, Ihr den neuen Pfad? Wenn nicht, führen Sie die php --ini um zu sehen, welche ini-Datei (falls vorhanden) ist es.
  • Hi Greg, Danke für die Antwort. Es gibt nur eine php.ini auf dem system. Wenn ich php --ini gibt es:Configuration File (php.ini) Path: /etc Loaded Configuration File: (keine) Scannen weitere .ini-Dateien: (keine) Weiteren .ini-Dateien geparst: (keine)
  • Ihre anderen php.ini könnte genutzt werden für Apache oder einen anderen web-server, oder es könnte nicht überhaupt noch verwendet werden. Kopieren Sie das php.ini /etc/php.ini-und das in der command line ein, die Sie Bearbeiten, von nun an. Sehen, ob es funktioniert einmal dort platziert.
  • Hi Greg, Eine seltsame Sache passiert. Ich kopierte meine eine php.ini-Datei nach /private/etc und lief php --ini Dieser Zeit erkannte er die Datei, aber wenn ich ran phpcs habe ich ein paar weitere Fehler, die so ähnlich aussah: PHP Warning: PHP Startup: Unable to load dynamic link libary .... Weg .... mit dem Namen. Dieser Fehler wiederholt sich für etwa 20 verschiedene Dateien. Ich bin jetzt auf der Suche in diesen Fehler. Sie scheinen verwandt zu sein mit unterschiedlichen Versionen von PHP auf dem system. Mountain Lion kommt mit seiner eigenen, und ich arbeite mit XAMMP. BTW - ich konfiguriert all dies und mehr auf Win 7 in etwa 10 Minuten, gehen Abbildung!
  • Ich mache alle meine PHPCS dev auf meinem mac mit der eingebauten PHP-version (ich habe eine VM für das testen in anderen Versionen) und nur verwenden, kopieren Sie die Standard-php.ini aus /etc. Ich habe nicht XAMMP installiert, so kann ich nicht wirklich helfen, wie zu konfigurieren, dass. Seltsam, dass es wouldn ' T kommen mit einem sauberen php.ini für die CLI. Sie können immer mit dem OS X ein: cp /etc/php.ini.default /etc/php.ini um zu sehen, ob es funktioniert.
  • Hallo Greg, habe ich ziemlich viel beschlossen, nur die codesniffer Arbeit auf dem Win 7 PC und git verwenden, zu propagieren. Wenn ich Zeit habe, werde ich neu erstellen, den Mac, und installieren Sie die AMP-Anwendungen separat mit so etwas wie Homebrew. Ich bin sicher, dies könnte gelöst werden, mit einer sorgfältigen re-installieren, aber ich bin nicht bereit, in der Zeit / Aufwand und möglicherweise auch am Ende an der gleichen Stelle. Ich Schätze wirklich Ihre Hilfe, auch wenn ich nicht nenne alles eine Antwort. Wenn ich dieses Problem lösen, werde ich die Antwort mit meinen eigenen ausführliche Antwort, aber ich vermute, ich werde einfach verwenden, Homebrew und die built-in-PHP.

InformationsquelleAutor user1342600 | 2013-03-09
Schreibe einen Kommentar