2012-04-06 16 views
3

Yiiでphpunitをインストールする際に多くの問題があります。phpunitとyii - (PHPUnit/Autoload.php):ストリームを開くことに失敗しました:

$ phpunit unit/dbTest.php 

しかし、それは、このエラー判明:私は実行のautoloadがインストールされ、その情報によると

$ phpunit --version 
PHPUnit 3.4.5 by Sebastian Bergmann. 

php --version 
PHP 5.3.10 (cli) (built: Apr 6 2012 20:06:37) (rebuilt didn't help :() 

pear list phpunit/phpunit 
.... 
php /opt/php5.3.10/lib/php/PHPUnit/Autoload.php 

、そして上にある:

PHP Warning: require_once(PHPUnit/Autoload.php): failed to open stream: No such file or directory in /opt/yii-1.1.10.r3566/framework/test/CTestCase.php on line 12

(include_path='.:/usr/bin:/usr/share/php:/usr/bin/pear:/usr/share/php/Zend/:/opt/php5.3.10/lib/php/PHPUnit'

私のインストールに関するいくつかの詳細をパスを含める。

私は何をする必要があるのか​​わかりません - 誰でも光を当てることができますか?私はこのことを願っています

+0

にどのように、PHPUnitをインストールしたのですか?これらのコマンドは欠落していますので、正確にあなたのエラーがどこにあるのかは分かりません**しかし、インクルードパスが間違っています**、それはファイルを必要としません(エラーメッセージがあなたにも伝えます。 。 – hakre

+0

あなたのエラーは 'PHPUnit/Autoload.php'を探しているファイルの結果です。あなたのインクルードパスには、親ディレクトリなしでインクルードの' PHPUnit'ディレクトリを設定した結果、 'PHPUnit/Autoload.php'がありません。 –

答えて

3

は誰かにいくつかの使用である:それはUbuntuのPEARに思わ

このタスクに分割され、apt-getはどちらかの助けにはなりません。

これは私が手動でhttp://pear.phpunit.de/

phpunit/PHPUnit 

phpunit/File_Iterator 
PHPUnit_MockObject 
phpunit/PHPUnit_Selenium 
PHP_CodeCoverage 

手動dezipからダウンロードして、PHPのlibに正しく置くか、あなたは彼らが行きたいところはどこでもそれを

を解決する方法です。

ゴッドダム、私が約6時間過ごして最後のナイトを働かせてくれることを助けてくれることを願っています。(PHP、PHPlib、PEARはすべてこのルートレベルにあります。

+1

実際にここで狂ったようなビットを実行します。 Pearインストーラーを使用したときに問題が発生している可能性があります。常に最初に梨をアップグレードしてください。その後、インクルードパスをチェックすると、それが正しくないことが明らかになりました(インクルードパスになかったので、あなたは*思っただけです)。デバッグでは:クレイジーを実行する前に、元に戻って正確な原因が何であるかを証明します。その後、固定が容易である。インクルードパスを適切に設定する。 – hakre

2

rixが答えたところで、いくつかのファイルを手動でダウンロードする必要があります。

は、私はそれがこれらのコマンド次のUbuntu 10.04に取り組んだ:

wget http://pear.phpunit.de/get/PHPUnit-3.6.10.tgz 
wget http://pear.phpunit.de/get/File_Iterator-1.3.1.tgz 
wget http://pear.phpunit.de/get/PHPUnit_MockObject-1.1.1.tgz 
wget http://pear.phpunit.de/get/PHPUnit_Selenium-1.2.6.tgz 
wget http://pear.phpunit.de/get/PHP_CodeCoverage-1.1.2.tgz 
wget http://pear.phpunit.de/get/PHP_TokenStream-1.1.3.tgz 
wget http://pear.phpunit.de/get/Text_Template-1.1.1.tgz 
wget http://pear.phpunit.de/get/PHP_Timer-1.0.2.tgz 

sudo vi /etc/php5/cli/php.ini 

=>追加は、/ usr/share/PHP/PHPUnitの/のinclude_pathディレクティブ

tar xzf PHPUnit-3.6.10.tgz 
cd PHPUnit-3.6.10/ 
sudo cp -r PHPUnit/ /usr/share/php/ 
sudo ln -s /usr/share/php/PHPUnit /usr/bin/PHPUnit 

tar xzf File_Iterator-1.3.1.tgz 
sudo cp -r File/ /usr/share/php/PHPUnit/ 

tar xzf PHP_CodeCoverage-1.1.2.tgz 
cd PHP_CodeCoverage-1.1.2/ 
sudo cp -R PHP/ /usr/share/php/PHPUnit/ 

tar xzf PHP_TokenStream-1.1.3.tgz 
cd PHP_TokenStream-1.1.3/PHP/ 
sudo cp -r Token* /usr/share/php/PHPUnit/PHP/ 

tar xzf Text_Template-1.1.1.tgz 
cd Text_Template-1.1.1/ 
sudo cp -r Text/ /usr/share/php/PHPUnit/ 

tar xzf PHP_Timer-1.0.2.tgz 
cd PHP_Timer-1.0.2/ 
sudo cp -r PHP/Timer* /usr/share/php/PHPUnit/PHP/ 

tar xzf PHPUnit_MockObject-1.1.1.tgz 
cd PHPUnit_MockObject-1.1.1/ 
sudo cp -r PHPUnit/Framework/MockObject/ /usr/share/php/PHPUnit/Framework/ 

tar xzf PHPUnit_Selenium-1.2.6.tgz 
cd PHPUnit_Selenium-1.2.6/ 
sudo cp -r PHPUnit/Extensions/* /usr/share/php/PHPUnit/Extensions/ 
+2

/usr/share/php/PHPUnit /を追加するのではなく、include_pathに/ usr/share/php /を追加しました。ありがとうございました。 – mythicalprogrammer

+0

Ubuntuで私はこれを使ってインストールできました:sudo pear install --force --alldeps pear.phpunit.de/PHPUnit(あなたはpear.phpunit.deチャンネルを見つけなければならないと思いますが) –

関連する問題