使用apache时访问外部数据库

时间:2012-07-23 16:40:55

标签: php mysql 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

由于某种原因,它仍在尝试访问localhost。我很难理解他的代码,所以请告诉我是否还需要发布其他内容。

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

警告与您的数据库无关,但与您尝试阅读的文件无关。实际上,你的常量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 危险 !!

编辑:添加了修改提案(基于错误,需要检查)