2014-12-17 5 views
0

오른쪽,데이터베이스 및 세션 라이브러리 자동로드 문제 - codeigniter

나는 codeigniter를 사용하여 로그인 시스템을 구축하고있었습니다. 사이트를 보려고 할 때 오류가 발생하기 시작할 때까지 정상적으로 작동했습니다. 그래서 나는 잘못 될 수있는 것을 찾기 위해 Google에서 몇 시간을 보냈습니다. 나는 도서관

첫 번째 오류는을 자동 로딩하는 문제를 좁힐 관리했습니다 :

Unable to connect to your database server using the provided settings. 

Filename: core/Loader.php 

Line Number: 346 

내가 autoload.php에서 라이브러리의 배열에서 '데이터베이스'를 제거하는 경우가 저절로 해결

$autoload['libraries'] = array(); 

두 번째 오류는 세션 자동로드와 함께 발생합니다. 오류는 다음과 같습니다 :

The Encrypt library requires the Mcrypt extension. 

이제는 세션에 대해 잘 모르겠지만 데이터베이스 설정이 정상적으로 작동합니다. 그래서 같은 모델에 수동으로로드 할 때

내가 어떤 문제없이, 내 데이터베이스에 데이터를 전달할 수 있습니다

그래서 제 질문은, 왜 이러한 오류를 던지고 갑자기 자동 로딩입니다
$this->load->database(); 

? 어떤 제안이 있습니까? 사전에

덕분에

+0

그리고 database.php 설정 파일은 무엇입니까? DB 서버를 실제로 사용하고 있습니까? 및 $ autoload [ 'libraries'] = array(); 로드 할 '데이터베이스'라이브러리가 있어야합니다. – avenda

+0

일부 키워드는 변수 이름으로 사용할 수 없습니다. 구성 배열에 대해 다른 변수 이름을 사용하십시오. – John

+0

@avenda 예 데이터베이스 구성 파일이 정상입니다. 예, 데이터베이스가 작동합니다. 예, 자동로드 배열에 '데이터베이스'가 있습니다. – bjurtown

답변

1

웹 서버에 적절한 Mcrypt 확장을로드했는지 확인하십시오. 서버 설정이 지원하는 경우 항상 php.ini 파일에 다음 extension=mcrypt.so을 추가 할 수 있습니다.

전에 모든 것이 잘 작동했다면 문제를 일으킨 서버 구성을 변경 한 것으로 보입니다. 필자가 아는 한, CI 2에는 이러한 종류의 오류를 생성 할 수있는 php 5.6에 몇 가지 문제가 있습니다. 다른 버전의 PHP를 실행 해보십시오. 버전 5.3 또는 5.4는 안전한 솔루션입니다.

+0

안녕 친구, 당신이 말한 것이 문제인지 궁금해했습니다. 문제는 내 서버가 아니라는 것입니다. 우리가 일할 수 있도록 우리가 접근 할 수있는 학교 서버입니다. 나는 php.ini 파일에 접근하거나 php의 버전을 변경할 수 있을지 확신하지 못한다. 그것은 관리자가 상상하는 것입니다. – bjurtown

+0

@bjurtown PHP 버전을 제공 할 수 있습니까? 그리고 Mcrypt에 PHP 설치가 실제로로드되어 있습니까? – sotoz

+0

학교 서버가 PHP 버전 5.3.2를 실행하고 있습니다. mcrypt를 확인하려면 어떻게해야합니까? – bjurtown