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