在Bluemix上使用PHP发送HTTP请求

时间:2016-02-25 15:44:11

标签: php httprequest ibm-cloud

我在www.bluemix.net上有一个使用PHP的项目。我尝试发送HTTP请求,如下面的代码所示,但我从未到达{echo“b”;}命令。我认为默认情况下,在Bluemix上使用PHP时,HTTP请求未启用。

<?php
error_reporting(E_ALL);

echo "a";
$request = new HttpRequest();    // I never pass this line
echo "b";
$request->setUrl('https://stream.watsonplatform.net/speech-to-text/api/v1/recognize');
$request->setMethod(HTTP_METH_POST);

?>

有没有人以这种方式使用Bluemix并且在使用HTTP请求时遇到了同样的问题?

提示: 项目结构如下: enter image description here

2 个答案:

答案 0 :(得分:1)

HttpRequest module是可选的PEAR包。默认情况下,这不会包含在您的PHP环境中。看看这个thread,有很多方法可以安装可选模块。

最简单的方法是使用Composer。

  

您可以使用Composer来安装它们。 Pear模块常常是   也列在Composer存储库中,因此您可以安装它们   而是直接使用Composer。如果没有,您也可以使用Composer   安装Pear模块,将它们从Pear仓库中拉出来。

PHP buildpack documentation详细介绍了如何使用您的应用程序配置Composer。

答案 1 :(得分:1)

[已解决]现在问题已解决,我只需将应用程序下载到我的计算机上,然后在本地安装composer,然后将整个内容推送到bluemix。

我认为这不是最佳方式,因为我更喜欢直接在云上编码。无论如何,我将总结可用于使用IBM bluemix运行HttpRequest的步骤:

  1. 获取www.bluemix.net
  2. 的用户名和密码
  3. 创建空间和应用程序(通过命令行或用户界面)
  4. 按文档here
  5. 中所述安装composer
  6. 转到计算机本地,在应用程序文件夹中,修改文件 composer.json 以包含任何http包。对我来说,我使用了php-curl,所以文件看起来像

    {

        "require": {
            "php-curl-class/php-curl-class":"*"
        }
       "minimum-stability": "dev"
    

    }

  7. 使用composer local

    安装软件包

    php composer.phar install

  8.   

    现在,一切准备就绪,我们应该将整个应用程序推回去   bluemix:

    1. 使用用户名和密码

      登录蓝色混音

      bluemix login

    2. 连接到IBM blue mix

      bluemix api https://api.ng.bluemix.net

    3. 推送与您的应用程序名称匹配的应用程序

      cf push <app_name>