Cakephp来自两个不同位置/域的两个数据库

Cakephp来自两个不同位置/域的两个数据库,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,我的应用程序在一台服务器上运行。 登录功能将用于托管在另一台服务器上的另一个数据库的用户。 有没有办法连接数据库,检查登录,登录成功/失败后,返回到我的应用程序?我无法给出一个明确的测试答案,但我可能可以为您指出正确的方向 在CakePHP中,可以设置多个数据库连接 在/app/config/database.php中,添加一个额外的数据库配置变量。例如: <?php var $userDb = array( 'driver' => 'mysql', 'pe

我的应用程序在一台服务器上运行。 登录功能将用于托管在另一台服务器上的另一个数据库的用户。
有没有办法连接数据库,检查登录,登录成功/失败后,返回到我的应用程序?

我无法给出一个明确的测试答案,但我可能可以为您指出正确的方向

在CakePHP中,可以设置多个数据库连接

在/app/config/database.php中,添加一个额外的数据库配置变量。例如:

<?php
var $userDb = array(
    'driver'      => 'mysql',
    'persistent'  => false,
    'host'        => 'example.com', // Put the hostname of the other database here
    'login'       => 'username',
    'password'    => 'password',
    'database'    => 'other_db_name'
);
?>

然后,在用户模型中添加以下属性:

<?php
var $useDbConfig = 'userDb';
?>

在此情况下,所有用户模型的数据库操作都应该使用$userDb config详细信息


更多信息可以在中找到。

我不能给出一个明确的测试答案,但我可以为您指出正确的方向

在CakePHP中,可以设置多个数据库连接

在/app/config/database.php中,添加一个额外的数据库配置变量。例如:

<?php
var $userDb = array(
    'driver'      => 'mysql',
    'persistent'  => false,
    'host'        => 'example.com', // Put the hostname of the other database here
    'login'       => 'username',
    'password'    => 'password',
    'database'    => 'other_db_name'
);
?>

然后,在用户模型中添加以下属性:

<?php
var $useDbConfig = 'userDb';
?>

在此情况下,所有用户模型的数据库操作都应该使用$userDb config详细信息


更多信息可以在中找到。

我尝试了此操作,但出现了错误,例如主机“comp.local.lan”不允许连接到此MySQL服务器,或者连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。即使我已将最大执行时间设置为300。。。。。请帮助这不是PHP代码的问题。这是因为您尝试连接的MySQL服务器正在阻止连接。您必须更改MySQL服务器上的设置,以允许您的CakePHP应用程序所在的主机连接。如果您不知道如何执行此操作,则必须与服务器管理员联系。或者,如果您是MySQL服务器的管理员,不知道如何执行此操作,请在Google上搜索或尝试在serverfault.com.Thanx上询问,我在主机上进行了这些设置,将databasename.*上的所有权限授予usern…@192.168.1.3,由“密码”标识。Thanx用于您的解决方案。我尝试了此操作,但它会出现错误,例如主机“comp.local.lan”不允许连接到此MySQL服务器,或者连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应。即使我已将最大执行时间设置为300。。。。。请帮助这不是PHP代码的问题。这是因为您尝试连接的MySQL服务器正在阻止连接。您必须更改MySQL服务器上的设置,以允许您的CakePHP应用程序所在的主机连接。如果您不知道如何执行此操作,则必须与服务器管理员联系。或者,如果您是MySQL服务器的管理员,不知道如何执行此操作,请在Google上搜索或尝试在serverfault.com.Thanx上询问,我在主机上进行了这些设置,将databasename.*上的所有权限授予usern…@192.168.1.3,由“密码”标识。谢谢你的解决方案。