5

I have MAMP Pro installed running php 5.2.13. When I try to initialize a HTTP-Request

$r = new HttpRequest('http://example.com/', HttpRequest::METH_GET);

it tells me:

"Class 'HttpRequest' not found in ...".

What do I need to do to 'install(?)' it?

3 Answers 3

6

You must enable http extension:

http://www.php.net/manual/en/http.setup.php

Or you can try new HTTP_Request2:

sudo pear install --alldeps HTTP_Request2-alpha

And then:

$req = new HTTP_Request2('your.url');
$req->setMethod('POST');
$req->setHeader("content-type", $mimeType);
$req->setBody('');
$response = $req->send();
Sign up to request clarification or add additional context in comments.

5 Comments

I think I have to install it first... When I run the command "pecl install pecl_http" it gives me an error saying "checking for event.h... not found configure: WARNING: continuing without libevent support checking for magic.h... not found configure: error: could not find magic.h"... What now?
Which platform are you using ? Which version of PHP ?
@Vojta I'm running MAMP (Mac 10.6.5 / Unix) PHP v5.2.13 AND/OR PHP v5.3.2
@JNK: sorry for delay.... Maybe, it's looking for eventlib on wrong place, I guess it has been installed by macports, so it's under /opt/local/, so try to install http extension by macports...
... because default location is probably under /usr/local
6

Contemporary Answer for MAMP 2.0 and HTTP_Request2:

Go into your MAMP/bin/php/php5.3.6/bin/ and run

./pear install --alldeps HTTP_Request2

Restart your server and test with the following code, from the PEAR repository:

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

Don't forget the require_once statement!

Comments

2

You need to enable the extension ...

add the following to your php.ini

extension = php_http.dll

Apparently that was asked a lot:

http://php.bigresource.com/Track/php-33sNme7A/

2 Comments

However, that won't work for MAMP (which runs on Mac OS X), only for WAMP (Windows).
Link is broken.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.