2016-02-09 54 views
0

我在IBM Bluemix中創建了一個PHP應用程序。 是否可以將代碼放置在應用程序的某個位置,以便在您部署代碼時始終運行代碼? 這是因爲我想在實例準備好使用時用數據初始化一些文件。IBM Bluemix PHP應用程序創建啓動文件

問候,

阿爾揚·克朗

+0

可能是,但取決於您的意思,「總是在您部署代碼時運行」。在Bluemix上構建和啓動應用程序時,在對文件發出請求時它始終可用。請澄清你的意思,儘可能提供示例。 –

+0

在php實例上,我使用了sqllite3數據庫。在這個數據庫中會有一個外部系統的備份。 現在,當部署新的實例代碼時,我想將備份的數據庫從外部系統複製到php實例。 –

回答

3

在你的項目的根,創建一個composer.json

{ 
    "scripts": { 
     "post-install-cmd": [ 
      "COMMAND GOES HERE" 
     ] 
    } 
} 

您可以輸入一個命令或調用PHP類。

例子:Running DreamFactory 2.0 on BlueMix

文件:https://getcomposer.org/doc/articles/scripts.md#event-names

然而,你的php實例中有你的數據庫是不是好的做法。如果你的php實例崩潰,你可能會丟失你的數據。如果您擴展到多個實例,如何保持數據庫同步?

你應該考慮使用一個位於你的php實例之外的數據庫。從Bluemix目錄中的一個數據庫中選擇。

1

另一種方法是覆蓋buildpack的啓動命令,並通過cf push -s選項提供自己的啓動命令。它可能類似於-s command1 && command2,其中command1是您想要執行的額外工作,command2啓動該Web應用程序。