“PHP Fatal error: Class 'HttpRequest" non trouvé”
J'ai été coincé à essayer de résoudre ce problème dans beaucoup de façons, la lecture d'un grand nombre de messages, mais ayant encore pas de chance.
Je travail sur un Mac, OSX 10.7 Lion, et je suis en train d'écrire un plugin pour WordPress site (fichiers php) à l'aide de MAMP, et à un moment je dois faire une requête HTTP:
$request = new HttpRequest('something');
$request->setMethod(HTTP_METH_GET);
Il y a une erreur lors de l'exécution de cette demande, et quand j'ai vérifié le fichier journal, voici le message:
"PHP Fatal error: Class 'HttpRequest' not found in (the_php_file)"
Je l'ai déjà installé PEAR, PECL et le HTTP extension (pecl_http), Xcode et ses outils de ligne de commande.
C'est ce que j'ai fait:
- modifié le CHEMIN d'accès:
$ echo "export PATH=/Applications/MAMP/bin/php/php5.5.3/bin:$PATH" >> ~/.profile`
- vérifié que les chemins d'accès pour php, de poire et de pecl sont corrects:
- /Applications/MAMP/bin/php/php5.3.6/bin/php est le chemin pour php
- /Applications/MAMP/bin/php/php5.3.6/bin/poire de poire
- /Applications/MAMP/bin/php/php5.3.6/bin/pecl pour pecl
- J'ai téléchargé la source de php à partir de la MAMP page (et vérifié que la version que j'ai téléchargé était le même que celui que j'utilise, qui est php5.5.3). Ensuite, j'ai extrait le contenu et le mettre dans /Applications/MAMP/bin/php/php5.5.3/include/php
- Intérieur /Applications/MAMP/bin/php/php5.5.3/include/php, j'ai couru
./configure
- J'ai exécuté:
pecl install pecl_http
- J'ai également ajouté ces extensions de php.ini (à l'origine, j'ai modifié le MAMP/bin/php/php5.5.3/conf/php.fichier ini):
extension=raphf.so extension=propro.so extension="http.so"
De ce dernier entre guillemets: quand j'ai ajouté l'extension manuellement, j'ai fait comme ceci: extension=http.so
. Ensuite (lorsque vous essayez de résoudre mon problème) j'ai essayé une installation alternative qui a modifié le php.ini automatiquement, et écrit le avec l'extension". les marques, mais le résultat était toujours le même, donc il n'était pas de faire une différence.
Après tout cela, j'ai arrêté le serveur MAMP et a commencé à nouveau, mais quand j'ai exécuté le php j'ai toujours l'erreur (visible dans le php_error.journal):
PHP Fatal error: Class 'HttpRequest' not found
J'ai été suivant ce guide, pour la plupart, parmi beaucoup d'autres:
http://www.lullabot.com/blog/article/installing-php-pear-and-pecl-extensions-mamp-mac-os-x-107-lion
Je vous en serais reconnaissant toute idée parce que j'ai manquer d'entre eux.
OriginalL'auteur chechab | 2014-03-29
Vous devez vous connecter pour publier un commentaire.
La classe HttpRequest est fourni par v1 de cette extension PECL.
Ré-installer via:
$ pecl install -f pecl_http-1.7.6
Vous pouvez trouver de la documentation pour v2 ici, si:
https://mdref.m6w6.name/http
No releases available for package "pecl.php.net/pecl_http"
Comment dois-je régler ce problème, bro?Dépend de votre version de PHP. Ajouter le approprié pecl_http version compatible avec votre version de PHP.
OriginalL'auteur m6w6
alternativement, dans le cas où vous ne pouvez pas contrôler certaines variables d'environnement ou d'installer des paquets, vous pouvez essayer en utilisant curl qui doit retourner un objet json (ci-dessous est un extrait d'un api google appel).
OriginalL'auteur tony gil