스파게티 코드 PHP 응용 프로그램을 Codeigniter 프레임 워크로 리팩토링하고 있으며 응용 프로그램의 개발 버전이 프로덕션 데이터베이스와 다른 서버에 있습니다. 테스트를 위해 프로덕션 데이터베이스에 개발 버전을 호스팅 할 EC2 인스턴스에서 ssh 터널을 설정하고 싶습니다. libssh2와 phpseclib (http://phpseclib.sourceforge.net/)을 통해 원격 서버와 ssh 연결을 성공적으로 만들었습니다. 그러나 ssh 터널이 설정된 후에는 codeigniter mysqli db 드라이버를 사용하여 데이터베이스에 연결할 수 없습니다. PHP/Codeigniter 애플리케이션을 SSH 터널을 통해 원격 MySQL 데이터베이스에 어떻게 연결할 수 있습니까?
수 없습니다
가 제공하는 설정을 사용하여 데이터베이스 서버에 연결 : 데이터베이스에 연결하는 모든 시도와 , 나는 다음과 같은 오류가 발생합니다. 파일명 : 코어/MY_Controller.php 행 번호 다음 MY_Controller 코드6 :
1 <?php defined('BASEPATH') OR exit('No direct script access allowed');
2
3 class MY_Controller extends CI_Controller {
4
5 public function __construct() {
6 parent::__construct();
7 $this->auth = new stdClass;
8 $this->load->library('flexi_auth');
9 if (!$this->flexi_auth->is_logged_in()) {
10 header('Location: /login');
11 }
12 }
는 I는 mysqli real_connect 함수로의 파라미터로서 터널 객체를 포함하는 mysqli 드라이버를 수정 다음은 아무 소용이 없다. 아무도 내가이 일을 어떻게 할 수 있는지 안다?
도움을 주셔서 감사합니다. 마이크
Er - 개발 시스템을 프로덕션 데이터베이스에 연결 하시겠습니까? 개발 시스템에서 프로덕션 데이터베이스를 더 잘 복제 할 수 있습니다. –
프로덕션 데이터베이스는 1TB +이며 프로덕션 데이터베이스를 개발 서버에서 복제하는 데 엄청난 노력이 필요합니다. 귀하의주의를 고맙게 생각하지만, 그 문제를 제외하고는 가능성에 대해 궁금합니다. - ssh를 통해 원격 개발 데이터베이스에 연결하거나 프로덕션 데이터베이스에 원격으로 터널링 할 프로덕션 응용 프로그램을 원할 경우,이를 만들 수있는 방법이 있습니까? 작업? 당신의 생각에 감사드립니다! – semanticMike