小编che*_*hab的帖子

"PHP致命错误:未找到类'HttpRequest'"

我一直试图以多种方式解决这个问题,阅读很多帖子但仍然没有运气.我在Mac,OSX 10.7 Lion上工作,我正在使用MAMP为WordPress站点(php文件)编写插件,有一次我必须发出HTTP请求:

$request = new HttpRequest('something'); 
$request->setMethod(HTTP_METH_GET);
Run Code Online (Sandbox Code Playgroud)

执行此请求时出错,当我检查日志文件时,这里是消息:

"PHP Fatal error:  Class 'HttpRequest' not found in (the_php_file)"
Run Code Online (Sandbox Code Playgroud)

我已经安装了PEAR,PECL和HTTP扩展(pecl_http),Xcode及其命令行工具.这就是我做的:

  • 修改了PATH:

    $ echo "export PATH=/Applications/MAMP/bin/php/php5.5.3/bin:$PATH" >> ~/.profile`
    
    Run Code Online (Sandbox Code Playgroud)
  • 验证php,pear和pecl的路径是正确的:

    • /Applications/MAMP/bin/php/php5.3.6/bin/php是php的路径
    • 梨的/Applications/MAMP/bin/php/php5.3.6/bin/pear
    • /Applications/MAMP/bin/php/php5.3.6/bin/pecl for pecl
  • 我从MAMP页面下载了php的源代码(并检查我下载的版本与我正在使用的版本相同,即php5.5.3).然后我提取了内容并将其放入/Applications/MAMP/bin/php/php5.5.3/include/php

  • 在/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"
    
    Run Code Online (Sandbox Code Playgroud)

关于引号中的最后一个:当我手动添加扩展时,我这样做:extension=http.so.然后(当试图修复我的问题时)我尝试了另一种自动修改php.ini的安装,并使用quot编写了扩展名.标记,但结果仍然相同,所以它没有什么区别.

在所有这些之后,我停止了MAMP服务器并再次启动它,但是当我执行php时我仍然得到错误(在php_error.log中可见):

PHP Fatal error:  Class 'HttpRequest' not found
Run Code Online (Sandbox Code Playgroud)

我一直在关注这个指南,其中包括以下内容:http: //www.lullabot.com/blog/article/installing-php-pear-and-pecl-extensions-mamp-mac-os-x-107-狮子

我很感激任何想法,因为我已经用完了.

php pecl httprequest osx-lion

10
推荐指数
1
解决办法
4万
查看次数

标签 统计

httprequest ×1

osx-lion ×1

pecl ×1

php ×1