2010-12-19 11 views
13

wszyscy. Mam problem z gruszką. Testuję w moim localhost (moja ścieżka localhost jest e:\www), moim systemem jest Windows XP Sp3, moja wersja PHP to 5.2.11, ścieżka jest C:\Program Files\phpStudy\PHP5, uruchamiam go-pear.bat w tej ścieżce i zakończam instalację gruszki, teraz ścieżka gruszki w C:\Program Files\phpStudy\PHP5\PEAR (w folderze zawiera .channels, .registry, OS, PEAR, .depdb, .depdblock, .filemap, .lock, go-pear.phar), a następnie uruchomić C:\Program Files\phpStudy\PHP5\PEAR_ENV.reg i modyfikować php.iniNieudane otwarcie wymaganego "HTTP/Request2.php" (include_path = '; C: php5 pear')

; Windows: "\path1;\path2" 
include_path = ".;C:\Program Files\phpStudy\PHP5\PEAR" 

Po ponownym uruchomieniu apache Testuję prosty kod, który kopiuje ze strony internetowej gruszka.

<?php 
require_once 'HTTP/Request2.php'; 

$request = new HTTP_Request2('http://pear.php.net/', HTTP_Request2::METHOD_GET); 
try { 
    $response = $request->send(); 
    if (200 == $response->getStatus()) { 
     echo $response->getBody(); 
    } else { 
     echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' . 
      $response->getReasonPhrase(); 
    } 
} catch (HTTP_Request2_Exception $e) { 
    echo 'Error: ' . $e->getMessage(); 
} 
?> 

ale powrót

Warning: require_once(HTTP/Request2.php) [function.require-once]: failed to open stream: No such file or directory in E:\www\ct\1.php on line 2 

Fatal error: require_once() [function.require]: Failed opening required 'HTTP/Request2.php' (include_path='.;C:\php5\pear') in E:\www\ct\1.php on line 2 

Co złego to jest? Jak rozwiązać? Dzięki.

+0

Brakuje pliku e: \ www \ HTTP \ Request2.php –

Odpowiedz

25

Musisz zainstalować pakiet PEAR http_request2.

Można spróbować polecenia ...

pear install http_request2 

dostarczany przez cweiske ale może zakończyć się błędem jak ...

Failed to download pear/http_request2 within preferred state 
"stable", latest release is version 0.5.2, stability "alpha", 
use "channel://pear.php.net/http_request2-0.5.2" 

Jeśli widzisz ten błąd trzeba będzie zainstalować za pomocą polecenia ...

pear install "channel://pear.php.net/http_request2-0.5.2" 

Może to wygenerować błąd zależności dotyczący pakietu Net_URL2, np. ....

Failed to download pear/Net_URL2 within preferred state "stable", latest 
release is version 0.3.1, stability "beta", 
use "channel://pear.php.net/Net_URL2-0.3.1" to install 
pear/HTTP_Request2 requires package "pear/Net_URL2" (version >= 0.2.0) 

Jeśli widzisz taki problem błędu komenda ...

pear install "channel://pear.php.net/Net_URL2-0.3.1" 

a następnie ponownie wydaj polecenie ...

pear install "channel://pear.php.net/http_request2-0.5.2" 

i powinno być wszystko gotowe. "Stan" tych pakietów może się zmieniać z czasem, więc dokładne wersje w powyższych poleceniach również prawdopodobnie ulegną zmianie iw pewnym momencie polecenie gruszki instalacji http_request2 może zacząć działać samodzielnie.

Powodzenia.

+0

ten problem zajmował mi dużo czasu, teraz działa, Dzięki 'Night Owl' – cj333

+0

Dzięki za tę odpowiedź. Pomogło mi to naprawić problem, który miałem przy korzystaniu z Pear'a do instalacji PHPUnit na Ubuntu Natty – Steven

+0

Najwygodniej, zwłaszcza wskazówka na temat używania 'pear install" kanału '... działał na poczęstunek. –

1

Musisz zainstalować pakiet HTTP_Request2 z gruszką:

pear install http_request2 

Wtedy powinno działać.

Powiązane problemy