2012-02-24 25 views
10

Tôi đang cố gắng để có được phpUnit chạy trên một Centos chạy plesk pannel.phpUnit - Tập tin/Iterator/Autoload.php không mở được

Tôi đã cài đặt thành công phpunit.

Package   Version State 
File_Iterator  1.3.1 stable 
PHPUnit   3.6.10 stable 
PHPUnit_MockObject 1.1.1 stable 
PHP_CodeCoverage 1.1.2 stable 
PHP_Invoker  1.1.0 stable 
PHP_Timer   1.0.2 stable 
PHP_TokenStream 1.1.3 stable 
Text_Template  1.1.1 stable 

tuy nhiên bất cứ khi nào tôi chạy lệnh phpunit từ vỏ tôi nhận được lỗi sau:

PHP Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or directory in /usr/share/pear/PHPUnit/Autoload.php on line 45
PHP Fatal error: require_once(): Failed opening required 'File/Iterator/Autoload.php' (include_path='.:') in /usr/share/pear/PHPUnit/Autoload.php on line 45

Có ai một đầu mối làm thế nào để giải quyết vấn đề?

+0

'Thông tin lê pêrô phpunit/File_Iterator' nói gì? Có vẻ như nó không được cài đặt, nhưng PHPUnit phụ thuộc vào nó. –

+1

Trên máy Mac OSX 10.7.1 của tôi trong /etc/php.ini, include_path được đặt thành/user/lib/php/lê thay vì/usr/lib/php/pear Thật đáng ngạc nhiên là bạn có thể nhìn chằm chằm vào cái gì đó không lâu để ý thêm e! –

+1

Tôi tin rằng đây là câu trả lời đúng cho bất kỳ câu hỏi nào liên quan đến đơn vị php File_Iterator. https://github.com/sebastianbergmann/php-file-iterator –

Trả lời

2

Đường dẫn bao gồm của bạn phải bao gồm thư mục mà PEAR cài đặt tất cả các gói đó. Thêm /usr/share/pear vào đường dẫn bao gồm của bạn trong php.ini --probably /etc/php5/cli/php.ini.

2

Trên Ubuntu (10.04), tôi cũng đã thêm /usr/share/php vào /etc/php5/cli/php.ini.

4

Tôi không chắc chắn cách dịch này cho plesk, nhưng vấn đề là include_path được chỉ định trong tệp php.ini của bạn được đặt thành chỉ thư mục hiện tại. Xác minh nơi file php.ini của bạn là bằng cách chạy sau từ dòng lệnh ...

% php --info 

... và tìm kiếm các mục sau đây ...

Cấu hình File (php.ini) Đường dẫn =>/etc

Loaded Configuration file => /etc/php.ini

Trong trường hợp này, chỉnh sửa /etc/php.ini và tìm kiếm cho include_path. Trong trường hợp của tôi, tôi cần phải thiết lập nó như sau ...

include_path = ".:/opt/php-5.3.14/lib/php/pear" 
0

trong Fedora phát hành 19 nó đã được giải quyết bằng cách thêm /usr/share/lê/ đường dẫn đến include_path của /etc /php.ini

6

tôi đã thử một tỷ bài viết khác nhau và các lệnh mà cuối cùng cố định vấn đề này đối với tôi là như sau:

sudo pear channel-discover pear.phpunit.de 
sudo pear install --alldeps --force phpunit/phpunit 

sau đó, whe n Tôi chạy phpunit, tôi đã không nhận được lỗi và nó đã chạy thành công.

Các vấn đề liên quan