2015-01-02 1 views
0

CakePHP 1.3.16을 사용하는 웹 사이트를 다운로드했으며 데이터베이스 생성 및 설정을위한 .yml 파일이 여러 개 있습니다. 내가 수행 할 때 :CakePHP가 단서없이 MDB2 오류를 마이그레이션합니다.

$../cake/console/cake migrate 

을 나는 MDB2 오류를 얻을 수 있지만 내가 그것을 해결하는 방법에 대한 정보를 원하시면 Google에 대한 더 이상의 단서없이 그래서 그것은 매우 어렵습니다. 오류는 다음과 같습니다 :

__ __ _ _ __  ___  __ __ __ ___ __ _ _ __ 
| |__| |_/ |__ | | | | | _ |__| |__| | | | | |\ | |__ 
|__ | | | \_ |__ | | | | |__| | \_ | | | | |__| | \| __| 

App : app 
Path: /home/coolia/Projects/cooltra/coolia/web/app 


    ** Error: MDB2 ERROR ** 

    --------------------------------------------------------------- 

저는 Apache와 MySQL을 사용하여 우분투 14.04를 실행하고 있습니다.

누구든지 로그 파일이나 자세한 옵션을 통해 오류에 대한 자세한 정보를 얻는 방법을 알고 있습니까? 아니면 더 잘 해결할 수 있습니까?

미리 감사드립니다.

답변

0

마지막으로 나는 보다 유용한 정보를 얻을 수있었습니다. * 오류 : MDB2 오류 *. 더 많은 정보를 얻으려면 마이그레이션 스크립트 (cakePHP 버전 1.3의 경우 /app/plugins/migrations/vendors/shells/migrate.php)를 편집해야했습니다.

한번 입력하면 오류 메시지를 모두 확인하고 사용자 정의 된 오류 메시지의 텍스트를 쉽게 추가 할 수 있습니다. 오류가 발생한 행을 찾을 수있었습니다. 선이었다 :

if (PEAR::isError($this->_db)) $this->error('MDB2 ERROR', $this->_db->getDebugInfo()); 

은 "재미"일이 오류 로그 메시지가 PHP 이해하지 않는, 따라서 오류 메시지 로그를 표시 손실되지 않고 보인다 쉼표 (,)와 연결되어 있다는 점이다. 방금 쉼표 (,)를 점 (.)으로 바꿨고 오류 메시지를 볼 수있었습니다. 그 다음 줄은 다음과 같이 유지됩니다.

if (PEAR::isError($this->_db)) $this->error('MDB2 ERROR' . $this->_db->getDebugInfo()); 

일단 오류 메시지가 인쇄되면 문제를 해결하는 것이 매우 쉽습니다. 문제는 데이터베이스에 연결하는 데 사용 된 사용자에게 연결 권한이 없다는 것입니다.

따라서 가장 중요한 문제는 오류에 대한 관련 정보를 얻는 것이 었습니다. MDB2 오류보다 더 의미있는 오류 메시지를 얻으려면 제대로 오류 로그 메시지를 표시하도록 migration.php 파일을 편집합니다.

건배 !!!

관련 문제