使用apache访问外部数据库


Accessing an outside database while using apache

我正在调整别人的网站。在本地apache上测试代码时,我如何访问他的数据库?以下是我认为他写的相关代码:

define("INCLUDE_PATH", "/home/inter/public_html/toolmanager/includes/");
$this->default_mySQL_database="domain.com,xxxx,xxxx,xxxx";
...
$include=constant("INCLUDE_PATH").$path.$filename;
$handle = fopen($include, "r");
$data = fread($handle, filesize($include));
fclose($handle);

我在fopen()行得到这个错误:

Warning: fopen(/home/inter/public_html/toolmanager/includes/platform/cache.php): failed to open stream: No such file or directory in C:'xampp'htdocs'toolmanager'toolmanager'includes'classloader_platform.php on line 401

出于某种原因,它仍在尝试访问本地主机。我很难理解他的代码,所以如果我还需要发布其他内容,请告诉我。

看起来这行控制数据库配置

$this->default_mySQL_database="domain.com,xxxx,xxxx,xxxx";

但是,您需要确保MySQL数据库服务器本身将接受来自测试服务器位置的指定用户/密码组合的连接。

您需要启用对mysql数据库的远程访问。以下是如何实现这一目标的链接:http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

然后,一旦你有了远程访问权限,你就可以使用你创建的用户名从任何地方访问数据库。

警告与您的数据库无关,而是与您试图读取的文件有关。事实上,您的常量INCLUDE_PATH引用了一个linux路径,但您的错误表明您在windows机器上工作。

如果您想读取错误,请调整常量INCLUDE_PATH,可能如下所示:

<?php define('INLUDE_PATH', 'C:/xampp/htdocs/toolmanager/toolmanager/includes/');

对于数据库连接问题,mlishn是正确的:您应该允许从mysql进行远程连接。

但你也必须:

  • 创建远程用户
  • 打开防火墙上的mysql端口
  • 将本地应用程序配置为与远程用户连接

以下是一个几乎涵盖所有内容的教程:http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

但请注意:在网上打开mysql-Db是非常危险的!!

EDIT:添加了修改建议(基于错误,需要检查)