“PHP致命错误:未找到'HttpRequest'类'
我一直试图在很多方面解决这个问题,阅读大量帖子,但仍然没有运气。 我在Mac上,OSX 10.7狮子工作,我正在写使用甲基苯丙胺一个WordPress站点(PHP文件)一个插件,并在一个点上我必须做出一个HTTP请求:“PHP致命错误:未找到'HttpRequest'类'
$request = new HttpRequest('something');
$request->setMethod(HTTP_METH_GET);
有一个执行错误,当这一请求,并当我检查日志文件,这里的消息:
"PHP Fatal error: Class 'HttpRequest' not found in (the_php_file)"
我已经安装了PEAR,PECL和HTTP扩展(pecl_http),Xcode和它的命令行工具。 这是我做过什么:
-
修改的路径:
$ echo "export PATH=/Applications/MAMP/bin/php/php5.5.3/bin:$PATH" >> ~/.profile`
-
证明:对于PHP,梨和PECL的路径是正确的:
- /应用程序/ MAMP/bin/php/php5.3.6/bin/php是php的路径
- /Applications/MAMP/bin/php/php5.3.6/bin/pear for pear
- /Applications/MAMP/bin/php/php5.3.6/bin/pecl为PECL
我下载从MAMP页面PHP源(和检查,我下载的版本是一样的一个我正在使用,这是php5.5.3)。然后我提取内容并将其放入/Applications/MAMP/bin/php5.5.3/include/php
- Inside /Applications/MAMP/bin/php/php5.5.3/include/php我跑了
./configure
- 我执行:
pecl install pecl_http
-
我还添加这些扩展到在php.ini(最初,我修改了MAMP/bin中/ PHP/php5.5.3/CONF/php.ini文件):
extension=raphf.so extension=propro.so extension="http.so"
关于最后一个引号:当我添加extensi在手动上,我做了这样的:extension=http.so
。然后(当试图解决我的问题时),我尝试了一种替代安装,自动修改php.ini,并用“”来编写扩展名。马克,但结果仍然是一样的,所以它没有什么区别。
这一切后,我停止了MAMP服务器并再次启动它,但是当我执行PHP我仍然有错误(在php_error.log可见):
PHP Fatal error: Class 'HttpRequest' not found
我一直遵循本指南大多数,在这么多: http://www.lullabot.com/blog/article/installing-php-pear-and-pecl-extensions-mamp-mac-os-x-107-lion
我很感激任何想法,因为我用尽了他们。
该类HttpRequest由该PECL扩展的v1提供。
重新安装通过:$ pecl install -f pecl_http-1.7.6
可以为V2在这里找到文档,但: https://mdref.m6w6.name/http
我执行这个命令,但得到错误:'没有可用的软件包“pecl.php.net/pecl_http”'我该如何解决这个问题,兄弟? –
取决于你的PHP版本。附加与您的PHP版本兼容的相应pecl_http版本。 – m6w6
或者,如果你无法控制某些环境变量或安装软件包,您可以尝试使用curl应该返回一个json对象(下面是一个谷歌API调用的工作片段)。
$url = 'https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=TOKEN_DATA_123';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$json = json_decode($response, true);
curl_close($ch);
print_r($json);
$userEmail = $json["email"];
您是否找到针对您的问题的解决方案? –