因此,我在私人服务器上创建了一个www网站。它基本上是一个PHP + javascript页面。现在,我需要将其移至BlueMix。唯一的问题是,当我现在在私人服务器上使用MySQL数据库时,我需要在BlueMix上使用SQL Database-s2和所有数据库(包括我的php页面和数据库)。
麦克风
您必须从VCAP_SERVICES \ service凭据中解析数据库信息。
如果您的数据库服务是“ SQL数据库”,则可以使用以下示例代码连接到SQLDB:
//parse VCAP_SERVICES Environment variable $vcap_services = $_ENV["VCAP_SERVICES"]; $services_json = json_decode($vcap_services,true); $sqldb = $services_json["sqldb"]; if (empty($sqldb)) { echo "No sqldb service instance is bound. Please bind a sqldb service instance"; return; } //Get Credentials object (db,host,port,username,password) $sqldb_config = $services_json["sqldb"][0]["credentials"]; $conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=". $sqldb_config["db"]. ";HOSTNAME=". $sqldb_config["host"]. ";PORT=". $sqldb_config["port"]. ";PROTOCOL=TCPIP;UID=". $sqldb_config["username"]. ";PWD=". $sqldb_config["password"]. ";"; $conn = db2_connect($conn_string, '', ''); //db connection
该信息将自动从VCAP_SERVICES中检索。该应用程序读取了环境。变量并自动检索用户名,主机,数据库密码字段。
但是您可以查看 服务的服务凭据 来手动设置数据库,主机,端口,用户名,密码 :
如何检索凭证信息:
从DASHBOARD UI
cf env your_app_name
在代码中,我们使用DB2模块: 将SQLDB与PHP结合使用时,请使用以下buildpack https://github.com/ibmdb/db2heroku-buildpack- php。它将安装“ ibm_db2” php模块供您使用。
您可以在Bluemix上推送应用程序时设置构建包:
cf push <your_app_name> -b https://github.com/ibmdb/db2heroku-buildpack-php