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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es einen ausgezeichneten Artikel auf, wie man es zum laufen bringt:
http://viastudio.com/configure-php-codesniffer-for-mac-os-x/
Ich folgte den einfachen Anweisungen, und hatte es in kürzester Zeit!
Das Geheimnis ist, zu beheben, der include-Pfad mit den folgenden Befehlen:
Auf MacOS Hohe Sierrra
10.3.2
Sie in 2 einfachen Schritten:Die Letzte Zeile legt die
include_path
am Ende der/etc/php.ini
Datei