HttpRequest не найден в php

Я просто хочу сделать httprequest с параметрами сообщений. Я использовал этот код

$r = new HttpRequest($url, HttpRequest::METH_POST); $r->send(); 

но я получаю эту ошибку:

ErrorException [Неустранимая ошибка]: класс «HttpRequest» не

Я добавил extension=php_http.dll на свой php.ini, но проблема все еще существует. Я загружаю файл php_http.dll и вставляю его в папку ext php, но он уже существует, поэтому я заменил и все еще имею ту же проблему.

Любая помощь будет оценена

Solutions Collecting From Web of "HttpRequest не найден в php"

Если вы используете php 5.4 или выше, файл php_http.dll, похоже, не включен в вашу библиотеку расширений (если кто-то не может найти тот, который я пропустил?).

Единственный, с помощью которого я мог найти сгенерированные ошибки при запуске сервера Apache после обновления файла конфигурации php.ini, чтобы включить расширение.

Однако не бойтесь, поскольку, кажется, существует проект GitHub, который обеспечивает функциональность внутри класса, а не расширение. Нажмите здесь, чтобы найти необходимый класс .

Если вы сохраните этот класс в своем проекте и называете это так;

 include_once('HttpRequest.php'); //where HttpRequest.php is the saved file $url= 'http://www.google.com/'; $r = new HttpRequest($url, "POST"); var_dump($r->send()); 

В противном случае, казалось бы, единственным другим жизнеспособным вариантом было бы скомпилировать .dll самостоятельно из источника здесь 🙁

В противном случае другим вариантом будет использование cURL. cURL предоставляет большинство (если не всех) функциональных возможностей httpRequest .

Простым примером этого может быть:

 $url = "http://www.google.com/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body $head = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); var_dump($head); 

Более подробные и лучшие примеры можно найти на веб-сайте php здесь

Надеюсь, это поможет ответить на ваш вопрос, а не оставить вас больше …

Вы должны убедиться, что у вас есть php_http.dll который соответствует вашей версии PHP. Вы можете сделать <?php phpinfo(); для проверки с расширением загружаются (найдите «http», он отобразит версию и доступные классы).

Если расширение не отображается в phpinfo() , вы должны проверить свои журналы, чтобы узнать, откуда возникла проблема, или запустить двоичный файл PHP непосредственно из командной строки – php -i . Если при загрузке динамической библиотеки возникнет какая-либо ошибка, она появится в диалоговом окне. Обратите внимание, что PHP все равно будет продолжать работать, даже если расширение не удалось загрузить.

вы можете переустановить пакет

 $ pecl install -f pecl_http-1.7.6 

или получить доступ к данным с помощью curl, как этот фрагмент