我在IBM Bluemix中創建了一個PHP應用程序。 是否可以將代碼放置在應用程序的某個位置,以便在您部署代碼時始終運行代碼? 這是因爲我想在實例準備好使用時用數據初始化一些文件。IBM Bluemix PHP應用程序創建啓動文件
問候,
阿爾揚·克朗
我在IBM Bluemix中創建了一個PHP應用程序。 是否可以將代碼放置在應用程序的某個位置,以便在您部署代碼時始終運行代碼? 這是因爲我想在實例準備好使用時用數據初始化一些文件。IBM Bluemix PHP應用程序創建啓動文件
問候,
阿爾揚·克朗
在你的項目的根,創建一個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目錄中的一個數據庫中選擇。
另一種方法是覆蓋buildpack的啓動命令,並通過cf push -s
選項提供自己的啓動命令。它可能類似於-s command1 && command2
,其中command1是您想要執行的額外工作,command2啓動該Web應用程序。
可能是,但取決於您的意思,「總是在您部署代碼時運行」。在Bluemix上構建和啓動應用程序時,在對文件發出請求時它始終可用。請澄清你的意思,儘可能提供示例。 –
在php實例上,我使用了sqllite3數據庫。在這個數據庫中會有一個外部系統的備份。 現在,當部署新的實例代碼時,我想將備份的數據庫從外部系統複製到php實例。 –