Vấn đề này đã được giải quyết trước đó và tôi đã thử các giải pháp được cung cấp và nghĩ rằng tôi đang làm điều gì đó sai. Tôi đang cố gắng để cấu hình PHP Codesniffer trên một máy Mac sử dụng Mountaion Lion. Tôi không nghĩ rằng nó quan trọng, nhưng tôi ma sử dụng XAMMP. Tôi nhận được lỗi sau khi tôi chạy phpcs.Sai_ include_path cho Codesniffer
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
Lỗi này, dựa trên tất cả tìm kiếm, là do include_path không chính xác trong php.ini. Như tôi đã hiểu, đường dẫn này được cho là thư mục chứa lê. Khi tôi chạy cấu hình quả lê-get php_dir nó trả về/usr/lib/php/lê tôi mong đợi điều này. Vì vậy, tôi chỉnh sửa file php.ini (tập tin này là php.ini chỉ trên hệ thống, do đó nó không được lấy bối cảnh từ tập tin khác) để đọc:
include_path = ".:/usr/lib/php/pear/"
này có vẻ đúng, nhưng tôi giữ nhận được cùng một lỗi. Tôi đã loại bỏ hàng đầu.: Và điều đó không giúp ích gì ... và nó không hoạt động. Tôi cũng đã xóa kết quả theo dõi/và cùng một kết quả. Lưu ý rằng phpcs nằm trong thư mục usr/bin. Dưới đây là kết quả chạy lê 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
Bất kỳ ý tưởng nào? Tôi dễ bị lỗi chính tả, vì vậy đó luôn là một khả năng, vì vậy mọi thứ tôi đặt ở đây là cắt/dán.
Khi bạn thay đổi include_path, thông báo lỗi có thay đổi để hiển thị cho bạn đường dẫn mới không? Nếu không, hãy chạy 'php --ini' để xem tệp ini nào (nếu có) đang sử dụng. –
Xin chào Greg, Cảm ơn bạn đã trả lời. Chỉ có một php.ini trên hệ thống. Khi tôi chạy php --ini nó trả về: Configuration File (php.ini) Đường dẫn:/etc Loaded Configuration File: (none) Quét để tìm các tệp .ini bổ sung trong: (none) Các tệp .ini được phân tích cú pháp: (none) – user1342600
php.ini khác của bạn có thể đang được sử dụng cho Apache hoặc máy chủ web khác hoặc có thể chưa được sử dụng. Hãy thử sao chép php.ini đó vào /etc/php.ini và đó có thể là dòng lệnh bạn chỉnh sửa từ bây giờ. Xem nếu nó hoạt động một lần được đặt ở đó. –