Php 如何在Openshift中打开DB连接?

Php 如何在Openshift中打开DB连接?,php,mysql,git,openshift,Php,Mysql,Git,Openshift,这是我的PHP dbcon文件。 基本上,我需要将我的PHP应用程序与openshift MySQL数据库连接起来。这就是我所做的 <?php // Database Connection Setting $dbhost = "127.0.0.1"; // Host name $dbport = "3308"; // Host port $dbusername = "user"; // Mysql username $db

这是我的PHP dbcon文件。 基本上,我需要将我的PHP应用程序与openshift MySQL数据库连接起来。这就是我所做的

<?php

// Database Connection Setting

$dbhost = "127.0.0.1"; // Host name 
$dbport = "3308"; // Host port
$dbusername = "user"; // Mysql username 
$dbpassword = "pass"; // Mysql password 
$db_name = "mf"; // Database name 

$mysqlCon = mysqli_connect($dbhost, $dbusername, $dbpassword, "", $dbport) or die("Error: " . mysqli_error($mysqlCon));
mysqli_select_db($mysqlCon, $db_name) or die("Error: " . mysqli_error($mysqlCon));
?>


这在openshift上给了我一个错误,但适用于其他PHP应用程序。我没有得到任何关于错误解释的信息,只是因为错误:{…空白…}。

我这样做了

全球使用 或者 或者更好的是,只需使用连接字符串中的环境变量:

$mysqlCon = mysqli_connect(getenv('OPENSHIFT_MYSQL_DB_HOST'), getenv('OPENSHIFT_MYSQL_DB_USERNAME'), getenv('OPENSHIFT_MYSQL_DB_PASSWORD'), "", getenv('OPENSHIFT_MYSQL_DB_PORT')) or die("Error: " . mysqli_error($mysqlCon));
mysqli_select_db($mysqlCon, getenv('OPENSHIFT_APP_NAME')) or die("Error: " . mysqli_error($mysqlCon));

您得到的错误是什么?用户是否拥有对所有数据库的访问权限,还是仅对mf数据库具有访问权限?另外,将
$db\u name
作为第四个参数传递,这样,您就可以取消
mysqli\u select\u db
调用启用了吗?我没有收到任何视觉错误。只是一个字符串,上面写着“Error:{whitespace}”。是的,再挖一些,然后尝试一个解决方案。它起作用了。我把它放在这里是为了让别人知道谁是openshift的新手。为什么不直接使用连接中的常量,而不是先将它们分配给正则变量呢?似乎是一个不需要采取的额外步骤。。是的,没错。我只是php的中间人。把它简单地放在这里,以便理解他人。你的评论将有助于其他人的发展。谢谢@developercorey@matrixwebtech从本地/远程服务器运行应用程序,并将数据库保留在其他服务器上?我不能100%确定Openshift是否通过web套接字提供了
MySQL
访问。我读了一篇文章,说我们可以配置它。如果您有一个配置为在openshift上运行的C#应用程序,那么您需要为db连接设置该连接。这只是
PHP
连接。
$dbhost = getenv('OPENSHIFT_MYSQL_DB_HOST'); // Host name 
$dbport = getenv('OPENSHIFT_MYSQL_DB_PORT'); // Host port
$dbusername = getenv('OPENSHIFT_MYSQL_DB_USERNAME'); // MySQL username 
$dbpassword = getenv('OPENSHIFT_MYSQL_DB_PASSWORD'); // MySQL password 
$db_name = getenv('OPENSHIFT_GEAR_NAME'); // Database name 
define('DB_HOST', getenv('OPENSHIFT_MYSQL_DB_HOST'));
define('DB_PORT', getenv('OPENSHIFT_MYSQL_DB_PORT'));
define('DB_USER', getenv('OPENSHIFT_MYSQL_DB_USERNAME'));
define('DB_PASS', getenv('OPENSHIFT_MYSQL_DB_PASSWORD'));
define('DB_NAME', getenv('OPENSHIFT_APP_NAME'));

$mysqlCon = mysqli_connect(DB_HOST, DB_USER, DB_PASS, "", DB_PORT) or die("Error: " . mysqli_error($mysqlCon));
mysqli_select_db($mysqlCon, DB_NAME) or die("Error: " . mysqli_error($mysqlCon));
$mysqlCon = mysqli_connect(getenv('OPENSHIFT_MYSQL_DB_HOST'), getenv('OPENSHIFT_MYSQL_DB_USERNAME'), getenv('OPENSHIFT_MYSQL_DB_PASSWORD'), "", getenv('OPENSHIFT_MYSQL_DB_PORT')) or die("Error: " . mysqli_error($mysqlCon));
mysqli_select_db($mysqlCon, getenv('OPENSHIFT_APP_NAME')) or die("Error: " . mysqli_error($mysqlCon));