Неверное открытие требует "HTTP/Request2.php" (include_path = '; C:\php5\pear')

все. У меня проблемы с грушей. Я тестирую свой локальный хост (мой путь к localhost - e:\www), моя система - это windows xp sp3, моя версия php - 5.2.11, путь - C:\Program Files\phpStudy\PHP5, я запускаю go-pear.bat в этом пути и завершаю установку груши, теперь путь груши находится в C:\Program Files\phpStudy\PHP5\PEAR (под папкой находятся .channels, .registry, OS, PEAR, .depdb, .depdblock, .filemap, .lock, go-pear.phar), затем я запускаю C:\Program Files\phpStudy\PHP5\PEAR_ENV.reg и изменяю php.ini,

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

После перезапуска apache я тестирую простой код, который копируется с сайта груши.

<?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();
}
?> 

но он возвращает

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

Что не так? Как решить? Спасибо.

Ответы

Ответ 1

Вам нужно установить пакет PEAR http_request2.

Вы можете попробовать команду...

pear install http_request2

предоставленный cweiske, но может завершиться с ошибкой, например...

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"

Если вы видите эту ошибку, вам нужно будет установить ее с помощью команды...

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

Это может вызвать ошибку зависимостей относительно пакета Net_URL2, например....

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)

Если вы видите такую ​​ошибку, выполните команду...

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

а затем повторно выполните команду...

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

и вы должны быть настроены. "Состояние" этих пакетов может меняться со временем, поэтому точные версии в приведенных выше командах также могут измениться, и в какой-то момент команда pear install http_request2 может начать работать сама по себе.

Удачи.

Ответ 2

Вам нужно установить пакет HTTP_Request2 из груши:

pear install http_request2

Тогда он должен работать.