1
我的应用程序在一台服务器上运行。 登录功能将用于来自其他服务器上托管的其他数据库的用户。 有没有办法连接该数据库,检查登录和登录成功/失败后,返回到我的应用程序?Cakephp来自两个不同位置/域的两个数据库
我的应用程序在一台服务器上运行。 登录功能将用于来自其他服务器上托管的其他数据库的用户。 有没有办法连接该数据库,检查登录和登录成功/失败后,返回到我的应用程序?Cakephp来自两个不同位置/域的两个数据库
我不能给出明确的测试答案,但我可能能指出你在正确的方向。
在CakePHP中,您可以设置多个数据库连接。
在/app/config/database.php中,添加一个额外的数据库配置变量。例如:在地方,所有的用户模式的数据库操作的
<?php
var $useDbConfig = 'userDb';
?>
有了这应该使用$ userDB的配置细节:
<?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'
);
?>
然后,在你的用户模型中,添加以下属性。
更多信息可在CakePHP docs找到。
我试过这个,但它给出的错误像Host'comp.local.lan'不允许连接到这个MySQL服务器,或者连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应。即使我已将max_execution_time设置为300 .....请帮助 – vibha
这不是您的PHP代码的问题。这是因为你试图连接的MySQL服务器阻塞了连接。您必须更改MySQL服务器上的设置才能允许CakePHP应用程序所在的主机进行连接。如果您不知道如何执行此操作,则必须与服务器的管理员联系。或者,如果您是MySQL服务器的管理员,并且不知道如何执行此操作,请在Google上搜索或尝试在serverfault.com上询问。 – mtnorthrop
Thanx,我在主机上进行了这些设置,授予数据库名称上的所有特权。* TO usern ... @ 192.168.1.3 IDENTIFIED BY'password'。 Thanx为您的解决方案。 – vibha