2012-02-24 77 views
10

我試圖讓phpUnit在運行plesk pannel的centos上運行。phpUnit - 文件/迭代器/ Autoload.php失敗打開

我已成功安裝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 

但是每當我從殼我得到以下錯誤運行PHPUnit命令:

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

有沒有人線索如何解決這個問題?

+0

'pear info phpunit/File_Iterator'說什麼?它看起來沒有安裝,但PHPUnit依賴於它。 – 2012-02-24 00:47:25

+1

在我的Mac OSX 10.7.1的/etc/php.ini中,include_path被設置爲/ user/lib/php/pear而不是/ usr/lib/php/pear令人驚訝的是,多久你可以盯着某個東西而不是注意額外的e! – 2013-06-05 08:14:28

+1

我相信這是任何有關php單元File_Iterator的問題的正確答案。 https://github.com/sebastianbergmann/php-file-iterator – 2013-06-17 09:29:56

回答

2

您的包含路徑必須包含PEAR安裝所有這些包的目錄。將/usr/share/pear添加到您的包含路徑中php.ini - 可能/etc/php5/cli/php.ini

2

在Ubuntu(10.04)上我還添加了/usr/share/php/etc/php5/cli/php.ini

4

我不確定這是如何轉換爲plesk,但問題是在您的php.ini文件中指定的include_path被設置爲僅當前目錄。驗證您的php.ini文件是通過運行在命令行下...

% php --info 

...並查找以下條目...

配置文件(php.ini中)路徑=> /等

加載的配置文件=> /etc/php.ini中

在這種情況下,編輯/etc/php.ini並查找的include_path中。在我來說,我需要進行如下設置...

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

在Fedora 19發佈它已經解決了通過添加在/ usr /共享/梨/路徑的include_path的/ etc /php.ini

6

我嘗試了不同的十億文章,終於修復了這個問題對我來說是命令如下:

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

然後,磨片ñ我跑phpunit,我沒有得到錯誤,併成功運行。