phpunit require_once () hatası

16 Cevap php

Geçenlerde armut yükleyici üzerinden benim sunucuda phpunit yüklü.

Ben bir test çalıştırmak için gittiğimde aşağıdaki hatayı alıyorum:

PHP Warning:  require_once(PHPUnit/Util/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 44

PHP Fatal error:  require_once(): Failed opening required 'PHPUnit/Util/Filter.php' (include_path='.:/usr/bin/php') in /usr/bin/phpunit on line 44

Bazı arama yaptıktan sonra, ben sunucuda benim php.ini dosyasında include_path bazı değişiklikler yapmaya çalıştık. Ama bu bir şey yapmadı.

Herhangi bir fikir ne bu neden olabilir?

16 Cevap

GÜNCELLEME: Kasım 2013 ve Ubuntu 12.04, bu 2 komutların itibariyle yeterli olacaktır:

sudo pear config-set auto_discover 1
sudo pear install pear.phpunit.de/PHPUnit

The following is an older answer. It's a known problem , although almost a year and a half had passed. Read about it here

The code coverage must be installed in order for phpunit to work properly

Yapmanız gereken şey burada ele alınmıştır:

code coverage installation through PEAR

Temelde (Eğer phpunit zaten yüklü olduğunu alınan izinleri, yoksa sudo ile) yazmanız gerekir:

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/PHP_CodeCoverage

Ben zaten yapılandırılmış değil diğer kanallardan gelen paketlerin bir çift dahil yeniden yüklenmesi için tüm php bağımlılıkları, zorlamak aşağıdaki komutları ile Sabit OS X'te bu sorun vardı:

sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install --alldeps phpunit/PHPUnit

https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544

ve ubuntu 11.04 ve için özel olarak bu açıklama çok bazıları için olabilir

Yukarıda önerildiği gibi ben ths adımları yapmış olsa bile, o iş için alamadım ama 1.9.2 için 1.9.1 den armut yükselttikten sonra işe yarıyor mükemmel sadece bunu

speshu @ speshu-laptop: ~ $ sudo armut yükseltme armut

   downloading PEAR-1.9.2.tgz ...
   Starting to download PEAR-1.9.2.tgz (295,120 bytes)
    .....................................................done: 295,120 bytes
    upgrade ok: channel://pear.php.net/PEAR-1.9.2
    PEAR: Optional feature webinstaller available (PEAR's web-based installer)
    PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
    PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
    PEAR: To install optional features use "pear install pear/PEAR#featurename"

Eğer PEAR kullanarak ilk kez, belki doğru yolu dahil yapılandırılmamış değil. appropriate section in the PEAR manual bir göz atın.

https://github.com/sebastianbergmann/php-code-coverage

sb@ubuntu ~ % pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded

sb@ubuntu ~ % pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded

sb@vmware ~ % pear install phpunit/PHP_CodeCoverage
downloading PHP_CodeCoverage-0.9.0.tgz ...
Starting to download PHP_CodeCoverage-0.9.0.tgz (108,376 bytes)
.........................done: 108,376 bytes
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-0.9.0

Benim durumumda, ben /usr/share/php/PEAR include_path ekleyerek bunu çözdü.

Ben Ubuntu 10.04.2 kullanıyorum.

(Include_pathdaki = '. :/ Usr / bin / php')

Eğer sure Eğer include_path eklemiş mısınız?

Ayrıca biz ini dosyasını gördüm yardım ve içinde include_path pasajı olabilir ...

Ben buldum!

ARMUT / usr / share / armut phpunit kurulu gibi görünüyor. Neden emin ama nerede bu değil. A (mt) bir şey olmalı.

Her neyse, ben hazırım. Yardımlarınız için teşekkürler.

Bu, bir güncel-out veya eksik PHPUnit yüklemeniz varsa ne olur aynı zamanda. Eğer PEAR kurduktan sonra, bir up-to-date paketini almak için PHPUnit.de channel eklemeniz gerektiğini unutmayın.

Eğer erişim bileşenleri ile ilgili sorunlar varsa başka bir yol deneyin.

  1. Armut yükleyin

    sudo apt-get install php-pear
    
  2. phpunit armut kullanarak yükleyin.

    pear config-set auto_discover 1
    pear install pear.phpunit.de/PHPUnit
    
  3. phpunit / Selenyum yükleyin, ama ilk önce curl modülünü yüklemeniz gerekir

    sudo apt-get install php5-curl 
    pear install phpunit/PHPUnit_Selenium
    

Bana birden çok toplu test en bölünmesi için yardımcı oldu.

Ben aynı sorunu vardı. Netbeans phpunit sürümü (ki bu değildi) çok eski olduğu rapor edildi. Phpunit komut dosyasını çalıştırdıktan doğrudan Yukarıdaki iletileri gösterdi.

Ben ekleyerek münhal:

include_path=".:/usr/share/php"

Için /etc/php5/cli/php.ini

Please NOTE that the php.ini file is the one for php CLI (command) not the php.ini used for apache!

Benim asıl sorun, ben 5.1 sürümünde kalmış oldu (yum php yüklemek veya yum php-cli install) => php5.2.7 yükseltmek için php komut satırı sürümü alınamadı

Ben zaten apache ile kullanmak için php 5.3.3 derlenmiş vardı. Yani kurulum benim derlenmiş sürümü / usr / bin / php (komut satırı varsayılan) bir sembolik bağ / var/php5/bin/php 5.3.3 raporlama komut satırı php almak için

Sonra armut PHPUnit için yüklemek adımları refollowed

Ben phpunit koştu ama hala kod kapsama şeyler gerekli.

So I hunted code coverage down under /var/php5/lib/php/PHP/CodeCoverage and added that to the include path in php.ini include_path=".:/var/php5/lib/php/"

Make sure to add it to the include path without /PHP because phpunit starts at PHP/ (notice caps) looking for Code Coverage Failed opening required 'PHP/CodeCoverage/Filter.php'

Ben bu sorunu vardı. Zend Framework site gelişmekte edildi. Sonunda ben zend kurulumu kaldırmak ve kaldırma / apache ve cli banyo php.ini dosyaları yolu dahil yorumlayarak bunu çözmek için yönetmek. Zend ile siteyi geliştirmek için biz zend yüklü olması gerekmez. Bizim site klasörüne kütüphane kopyalayabilirsiniz Insted

You can solve this issue by redefining the environment variables in PEAR. This is how I solved the problem and I used Ubuntu 12.10

http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html

Kısacası bu yolları tanımlar ve sonra phpunit yeniden yükler

Ubuntu 12.04:

sudo pear channel-discover pear.symfony.com
sudo pear install --alldeps phpunit/PHPUnit