2016-02-25 29 views
1

我在www.bluemix.net上有一個使用PHP的項目。我試圖發送一個HTTP請求,如下面的代碼所示,但我從來沒有達到{echo「b」;}命令。我認爲,在Bluemix上使用PHP時,默認情況下未啓用HTTP請求。在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

+1

他們可能禁用爲安全起見,外部的HTTP請求 – Derek

+0

你很可能需要這個應用程序部署到運行時爲它執行 –

回答

1

[已解決]現在問題已解決,我需要的只是將應用程序下載到我的計算機上,然後在本地安裝composer,然後將所有內容都推送到bluemix。

我相信這不是最好的方式,因爲我更喜歡直接在雲上編碼。無論如何,我會總結了可用於與IBM bluemix運行的HttpRequest步驟:

  1. 獲取www.bluemix.net
  2. 用戶名和密碼創建一個空間,一個應用程序(通過命令行或通過用戶接口)
  3. 如文檔中描述的here
  4. 轉到本地電腦上,您的應用程序文件夾中安裝作曲家,修改文件composer.json包括任何HTT p包。對於我來說,我使用PHP捲曲,因此該文件看起來像

    {

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

    }

  5. 使用作曲家本地

    php composer.phar install

安裝包

現在,一切準備就緒,我們應該推動整個應用程序恢復到 bluemix:

  1. 登錄到藍色的搭配使用的用戶名和密碼

    bluemix login

  2. 連接到IBM藍色的搭配

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

  3. 推的應用,其中匹配你的應用程序名稱

    cf push <app_name>

1

HttpRequest module是一個可選的PEAR包。這不會在您的PHP環境中默認包含。看看這個thread,有很多方法可以安裝可選模塊。

最簡單的就是使用Composer。

您可以使用Composer來安裝它們。通常情況下,梨形模塊 也列在Composer存儲庫中,因此您可以直接使用Composer將它們安裝到 。如果沒有,你也可以使用Composer到 安裝梨形模塊,它們將它們從梨子倉庫中拉出來。

PHP buildpack documentation有關於在您的應用程序中配置Composer的詳細信息。

+0

謝謝插圖。我同意你的觀點,在bluemix上添加HttpRequest模塊的最簡單方法是使用composer。正如你在附圖中看到的那樣,文件composer.json已經在我的項目中,所以我認爲默認情況下安裝了composer。我改性composer.json如下: { 「需要」:{ 「comodojo /的HttpRequest」: 「1.2 *」。 } } 這將添加的HttpRequest模塊。只剩下最後一步了,我需要運行「php composer.phar install」。你知道如何直接在bluemix上運行這個shell命令嗎?謝謝 –