我有一个混合应用程序,它运行来自与便携式服务器相关的数据库的信息。
我需要从我的网络服务器检索信息(与前一个不同),我不知道如何做到这一点。
我有一个配置文件,其中包含在WEB服务器中建立数据库连接的信息和功能。
我尝试做的是将此config.php文件包含到app文件中,以建立从app server到web数据库的连接。
我尝试过cURL但没有成功。
答案 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。