1
내 응용 프로그램을 하나의 서버에서 실행했습니다. 로그인 기능은 다른 서버에서 호스팅되는 다른 데이터베이스의 사용자를위한 것입니다. 해당 데이터베이스에 연결하고 로그인을 확인하고 로그인 성공/실패 후에 내 응용 프로그램으로 돌아갈 방법이 있습니까?Cakephp 두 개의 서로 다른 위치/도메인에있는 두 개의 데이터베이스
내 응용 프로그램을 하나의 서버에서 실행했습니다. 로그인 기능은 다른 서버에서 호스팅되는 다른 데이터베이스의 사용자를위한 것입니다. 해당 데이터베이스에 연결하고 로그인을 확인하고 로그인 성공/실패 후에 내 응용 프로그램으로 돌아갈 방법이 있습니까?Cakephp 두 개의 서로 다른 위치/도메인에있는 두 개의 데이터베이스
확실한 답변을 드릴 수는 없지만 올바른 방향으로 안내해 드릴 수 있습니다.
CakePHP에서 여러 데이터베이스 연결을 설정할 수 있습니다.
/app/config/database.php에 추가 데이터베이스 구성 변수를 추가하십시오. 예를 들면 : $ USERDB의 설정 정보를 사용한다 장소에두고 사용자 모델의 데이터베이스 작업을 모두
<?php
var $useDbConfig = '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 서버가 연결을 차단하고 있기 때문에 이런 일이 발생합니다. CakePHP 앱이 연결되어있는 호스트를 허용하려면 MySQL 서버의 설정을 변경해야합니다. 이 작업을 수행하는 방법을 모르는 경우 서버 관리자에게 문의해야합니다. 또는 MySQL 서버의 관리자이고이를 수행하는 방법을 모르는 경우 Google에서 검색하거나 serverfault.com에 문의하십시오. – mtnorthrop
고맙습니다. 호스트에서 이러한 설정을했는데 databasename. * 사용자에게 모든 권한 부여. @ 192.168.1.3 'password'로 식별되었습니다. 솔루션을위한 고맙습니다. – vibha