phpunit requirement_once () त्रुटि


79

मैंने हाल ही में नाशपाती संस्थापक के माध्यम से अपने सर्वर पर phpunit स्थापित किया है।

जब मैं एक परीक्षण चलाने जाता हूं तो मुझे निम्नलिखित त्रुटि मिलती है:

PHP चेतावनी: requirement_once (PHPUnit / Util / Filter.php): स्ट्रीम खोलने में विफल: लाइन 44 में / usr / bin / phpunit में ऐसी कोई फ़ाइल या निर्देशिका नहीं

PHP घातक त्रुटि: requirement_once (): आवश्यक ओपनिंग 'PHPUnit / Util / Filter.php' (शामिल_path = '।: / usr / bin / php') / usr / bin / phpunit पर लाइन 44 पर

कुछ खोज करने के बाद, मैंने सर्वर पर अपनी php.ini फ़ाइल में शामिल_पाथ में कुछ संशोधन करने की कोशिश की। लेकिन इसने एक काम नहीं किया है।

किसी भी विचार यह क्या कारण हो सकता है?

जवाबों:


123

अद्यतन: 2013 नवंबर और Ubuntu 12.04 के रूप में इन 2 आदेशों को पर्याप्त होना चाहिए:

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

निम्नलिखित एक पुराना उत्तर है। यह एक ज्ञात समस्या है, हालांकि लगभग डेढ़ साल बीत चुका था। इसके बारे में यहां पढ़ें

फ़ुपुनिट को ठीक से काम करने के लिए कोड कवरेज स्थापित किया जाना चाहिए

आपको यहां क्या करना है:

PEAR के माध्यम से कोड कवरेज की स्थापना

मूल रूप से आपको टाइप करना होगा (अगर आपकी अनुमति नहीं है तो sudo के साथ, phpunit पहले से इंस्टॉल है):

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

मैं ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_php" ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_data"पिछले कदम पर त्रुटि हो रही है ।
एर

6
मेरे लिए सही समाधान आपके द्वारा दिए गए पहले लिंक में था: Bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544/comments/…
EnigmaCurry

2
मैं में include_path स्थापित करने के लिए किया था दोनों php.ini फाइलें, /etc/php5/apache2/php.ini, /etc/php5/cli/php.ini:, और यह माता पिता और उप निर्देशिकाओं शामिल करना थाinclude_path = ".:/usr/share/php:/usr/share/php/PEAR"
hobs

7
Ubuntu 12.04 पर, मैं भी प्रवेश करने के लिए किया था sudo pear channel-discover pear.symfony.comऔर उसके बाद के साथ सफल रहाsudo pear install --alldeps phpunit/PHPUnit
skierpage

2
नोट करें! You have installed PHPUnit via PEAR. This installation method is no longer supported and http://pear.phpunit.de/ will be shut down no later than December, 31 2014. ... जो इस उत्तर को अमान्य कर देगा।
मैडब्रेक्स

34

ओएस एक्स पर मुझे यह समस्या थी। इसे निम्नलिखित आदेशों के साथ तय किया, जो सभी php निर्भरता को फिर से स्थापित करने के लिए मजबूर करता है, जिसमें अन्य चैनलों के कुछ जोड़े शामिल थे जो पहले से कॉन्फ़िगर नहीं थे:

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

यह एकमात्र समाधान है जो उबंटू 11.10 में मेरे लिए काम करता है।
एमपीएन

4
एन.वी.एम. यह ठीक है, लेकिन जब मैं किसी भी वास्तविक परीक्षण को चलाने की कोशिश करता हूं तो मुझे मिलता हैPHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Framework.php on line 46
एमपीएन

2
मेरे लिए, मैंने ऐसा किया और फिर मुझे एक त्रुटि मिली कि मुझे लगता है कि stackoverflow.com/a/9186866/470749 Ubuntu 12.04 द्वारा हल किया गया है
रयान

1
मेरे लिए काम नहीं किया - मुझे channel-discover pear.phpunit.dephpunit / phpunit को स्थापित करने में सक्षम होने की आवश्यकता है , और फिर मुझे require_once(PHPUnit/Util/Filter.php)त्रुटि मिलती है ... फ़ाइल मेरे फिल्म सिस्टम पर कहीं नहीं है।
ashgromnies

नोट करें! You have installed PHPUnit via PEAR. This installation method is no longer supported and http://pear.phpunit.de/ will be shut down no later than December, 31 2014. ... जो इस उत्तर को अमान्य कर देगा।
मैडब्रेक्स

13

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

और विशेष रूप से ubuntu 11.04 के लिए यह टिप्पणी और कुछ अन्य लोगों के लिए भी हो सकती है

भले ही मैंने उपरोक्त चरणों की सिफारिश की थी, मुझे यह काम करने के लिए नहीं मिला, लेकिन 1.9.1 से 1.9.2 तक उन्नत नाशपाती के बाद यह पूरी तरह से काम कर रहा है

speshu @ speshu-laptop: ~ $ sudo नाशपाती उन्नयन नाशपाती

   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"

जैसे ही मैंने PHPUnit स्थापित किया और फिर भी मुझे यह त्रुटि मिली, लेकिन @StevenGreen के उत्तर ने मेरी मदद की =) लेकिन यह ठीक है कि आप इसे इंगित करते हैं =)
मेटाफ़नील


4

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

2

(शामिल_पाठ = '।: / usr / बिन / php')

क्या आप वाकई इसे शामिल_पाठ में शामिल कर चुके हैं?

अगर हम आपकी आईआईएन फाइल, और उसमे शामिल_पाथ स्निपेट को देखें तो यह भी मदद कर सकता है ...


हाँ, मैंने वह रास्ता और कई अन्य कोशिश की है। यहाँ टिप्पणियाँ 600 वर्णों तक सीमित हैं, इसलिए मुझे यकीन नहीं है कि मैं आपको अपनी आईएनआई फ़ाइल कैसे दिखाऊंगा। शामिल_पठ = "।: / usr / बिन / php"
user185305

/ usr / bin वह जगह है जहाँ पर निष्पादन योग्य रहते हैं, पुस्तकालय नहीं।
एलिस्टर बुलमैन

2

मुझे यह मिला!

ऐसा लगता है जैसे PEAR ने PHPUnit / usr / share / नाशपाती में स्थापित किया है। यकीन नहीं हो रहा लेकिन ऐसा क्यों है। एक (एमटी) बात होनी चाहिए।

वैसे भी, मैं सब सेट हूँ। सहायता के लिए धन्यवाद।


2

यदि आपके पास आउट-ऑफ-डेट या अपूर्ण PHPUnit इंस्टॉल है तो यह भी होता है। कृपया ध्यान रखें कि PEAR सेट करने के बाद, आपको अप-टू-डेट पैकेज प्राप्त करने के लिए PHPUnit.de चैनल जोड़ना होगा ।


2

मेरे मामले में, मैंने इसे जोड़कर हल /usr/share/php/PEARकिया include_path

मैं Ubuntu 10.04.2 का उपयोग कर रहा हूं।


1

यदि आपको एक्सेस करने वाले घटकों के साथ समस्या है, तो दूसरा तरीका आज़माएं।

  1. नाशपाती स्थापित करें

    sudo apt-get install php-pear
    
  2. phpunitनाशपाती का उपयोग करके स्थापित करें ।

    pear config-set auto_discover 1
    pear install pear.phpunit.de/PHPUnit
    
  3. phpunitसेलेनियम स्थापित करें , लेकिन पहले आपको curlमॉड्यूल स्थापित करने की आवश्यकता है

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

0

मुझे भी यही समस्या आ रही थी। Netbeans रिपोर्ट कर रहा था कि phpunit संस्करण बहुत पुराना था (जो यह नहीं था)। Phpunit स्क्रिप्ट को चलाने से सीधे उपरोक्त संदेश दिखाई देते हैं।

मैंने इसे जोड़कर हल किया:

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

करने के लिए /etc/php5/cli/php.ini

कृपया ध्यान दें कि php.ini फ़ाइल php CLI (कमांड) के लिए एक है न कि php.ini अपाचे के लिए उपयोग किया जाता है!


0

मेरी मूल समस्या यह थी कि मुझे => php5.2.7 पर अपग्रेड करने के लिए php (yum install php or yum install php-cli) का कमांड लाइन संस्करण नहीं मिल सका। मैं 5.1 संस्करण पर अटक गया था

मैंने पहले से ही एपीपी के साथ उपयोग के लिए php 5.3.3 संकलित किया था। इसलिए मैं कमांड लाइन php रिपोर्टिंग 5.3.3 प्राप्त करने के लिए / संकलित संस्करण / usr / bin / php (कमांड लाइन डिफ़ॉल्ट) से एक प्रतीकात्मक लिंक को / var / php5 / bin / php पर सेट करता हूं।

तब मैंने phpunit के लिए नाशपाती स्थापित चरणों को रद्द कर दिया

लेकिन यह तब भी कोड कवरेज सामान की जरूरत थी जब मैं फ़पुनिट भागा।

इसलिए मैंने / var / php5 / lib / php / PHP / CodeCoverage के नीचे कोड कवरेज का शिकार किया और कहा कि php.ini में शामिल पथ में शामिल करें_path = "।: / var / php5 / lib / php /"।

यह सुनिश्चित करें कि इसे / PHP के बिना शामिल पथ में जोड़ें क्योंकि phpunit की शुरुआत PHP / (नोटिस कैप) से होती है, जो कि कोड कवरेज की तलाश में है।


0

मुझे यह समस्या थी। मैं एक zend फ्रेमवर्क साइट विकसित कर रहा था। अंत में मैं इसे zend स्थापना को हटाकर और Apache और cli में स्नान php.ini फाइलों में शामिल पथ को हटाकर / टिप्पणी करके इसे हल करने का प्रबंधन करता हूं। Zend के साथ साइट विकसित करने के लिए हमें zend स्थापित करने की आवश्यकता नहीं है। हमें अपनी साइट फ़ोल्डर में लाइब्रेरी कॉपी कर सकते हैं



0

आप PEAR में पर्यावरण चर को फिर से परिभाषित करके इस मुद्दे को हल कर सकते हैं। इस तरह मैंने समस्या को हल किया और मैंने Ubuntu 12.10 का उपयोग किया

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

संक्षेप में यह रास्तों को परिभाषित करता है और फिर phpunit को बहाल करता है


0

Ubuntu 12.04:

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

0

मेरे पास विंडोज 8 के साथ एक ही मुद्दा था शीर्ष उत्तर के समान, मुझे कमांड लाइन शुरू करने की आवश्यकता थी, हालांकि व्यवस्थापक के रूप में cmd.exe चलाना सुनिश्चित करें । फिर दोनों आज्ञा

pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.