PHP - 远程数据库连接

时间:2018-01-03 12:28:14

标签: php database

我有一个混合应用程序,它运行来自与便携式服务器相关的数据库的信息。

我需要从我的网络服务器检索信息(与前一个不同),我不知道如何做到这一点。

我有一个配置文件,其中包含在WEB服务器中建立数据库连接的信息和功能。

我尝试做的是将此config.php文件包含到app文件中,以建立从app server到web数据库的连接。

我尝试过cURL但没有成功。

1 个答案:

答案 0 :(得分:0)

因此,如果我正确理解您,您希望在两个主机之间动态地交换数据库连接的配置" ?目前您正在尝试通过cURL下载config.php文件?这不起作用,如果你通过cURL访问config.php它由webserver处理,所以你可能得到一个空的响应,因为config.php没有输出。

有一些解决方案,但我有严重的安全问题。如果您通过" webservice"进行数据库配置而没有任何可用的安全措施。这可能会导致非常严重的问题,如数据泄漏等。

请不要在生产环境中使用以下内容。

关键点是你必须构建一个包含所需数据的数组/对象。然后你必须序列化它并将其传输到第二个主机。

一种非常简单且非常不安全的方法是编写一个新脚本,该脚本可以通过GET请求到达,该请求使用序列化对象进行响应。在另一台主机上,您可以简单地反序列化响应,并且您拥有包含配置的对象。

您从远程主机访问的文件:

<?php
// Build your config array / object
$config["url"] = "your.database.host.com";
$config["port"] = "The port you use";
$config["other"] = "other stuff you want to transmit";
// serialize it and output it
echo serialize($config);
?>

您的远程主机脚本:

<?php
// get the response with your config
$content = file_get_contents("<your host>");
// unserialisze it
$config = unserialize($content);
// database stuff
?>

如果没有适当的安全概念,我建议你不要传播这样的合理信息。也许您可以使用ssh来复制文件或使用身份验证和验证构建适当的REST API。