제목 | 배포 후 display_error 함수가 에러가 발생합니다 | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | dg_dong | 작성시각 | 2022/03/14 11:58:02 |
|
|||
AWS 서버로 배포했을때 회원가입 데이터를 검증하고 에러를 뿌려주는 함수 display_error가 함수가 없다고 에러가 발생합니다 use로 불러온 namespace는 아래에 기입했습니다 use 부분입니다 use Codeigniter\Controller; use CodeIgniter\API\ResponseTrait; use App\Libraries\Hash;
오류가 발생하는 메소드입니다 public function save() { $validation = $this->validate([ 'name' => [ 'rules' => 'required', 'errors' => [ 'required' => '이름은 필수로 입력해야됩니다' ] ], 'email' => [ 'rules' => 'required|valid_email|is_unique[tbl_users.email]', 'errors' => [ 'required' => '이메일은 필수로 입력해야됩니다', 'valid_email' => '이메일이 맞는지 다시 확인해주세요', 'is_unique' => '이미 존재하는 이메일 입니다', ] ], 'password' => [ 'rules' => 'required|min_length[5]|max_length[12]', 'errors' => [ 'required' => '비밀번호는 필수로 입력해야됩니다', 'min_length' => '비밀번호는 최소 5글자 입니다', 'max_length' => '비밀번호는 최대 12글자 입니다', ] ], 'cpassword' => [ 'rules' => 'required|min_length[5]|max_length[12]|matches[password]', 'errors' => [ 'required' => '확인 비밀번호는 필수로 입력해야됩니다', 'min_length' => '확인 비밀번호는 최소 5글자 입니다', 'max_length' => '확인 비밀번호는 최대 12글자 입니다', 'matches' => '확인 비밀번호는 비밀번호와 일치해야됩니다' ] ], ]); $error = [ 'name' => display_error($this->validator, 'name'), 'email' => display_error($this->validator, 'email'), 'password' => display_error($this->validator, 'password'), 'cpassword' => display_error($this->validator, 'cpassword') ]; if(!$validation){ return $this->response->setJSON($error); } else { // Register use into db $data = $this->request->getJSON(true); $name = $data['name']; $email = $data['email']; $password = $data['password']; $values = [ 'name' => $name, 'email' => $email, 'password' => Hash::make($password), ]; $usersModel = new \App\Models\UsersModel(); $query = $usersModel->insert($values); if(!$query) { return redirect()->back(); } else { // return redirect()->to('auth/register')->with('success','You are now registered successfully'); $last_id = $usersModel->insertID(); session()->set('loggedUser',$last_id); return $this->response->setJSON(true); } } }
오류 소스 입니다 { "title": "Error", "type": "Error", "code": 500, "message": "Call to undefined function App\\Controllers\\display_error()", "file": "/home/Book/book/app/Controllers/Auth.php", "line": 51, "trace": [ { "file": "/home/Book/book/vendor/codeigniter4/framework/system/CodeIgniter.php", "line": 802, "function": "save", "class": "App\\Controllers\\Auth", "type": "->" }, { "file": "/home/Book/book/vendor/codeigniter4/framework/system/CodeIgniter.php", "line": 399, "function": "runController", "class": "CodeIgniter\\CodeIgniter", "type": "->" }, { "file": "/home/Book/book/vendor/codeigniter4/framework/system/CodeIgniter.php", "line": 317, "function": "handleRequest", "class": "CodeIgniter\\CodeIgniter", "type": "->" }, { "file": "/home/Book/book/public/index.php", "line": 37, "function": "run", "class": "CodeIgniter\\CodeIgniter", "type": "->" } ] }
|
|||
다음글 | Ci3 cron질문합니다. (3) | ||
이전글 | 재 질문 합니다 컨트롤러-폴더 (3) | ||
테러보이
/
2022/03/14 13:12:14 /
추천
1
|
변종원(웅파)
/
2022/03/15 08:36:06 /
추천
1
이런 방법도... git 배포라면 composer로 설치된 라이브러리인지 확인하시고 업데이트.
|
dg_dong
/
2022/03/15 11:46:26 /
추천
0
답변해주셔서 감사합니다 로컬에서 헬퍼 함수 등록할때 대소문자가 상관이 없었습니다 하지만 AWS에 배포 후 대소문자가 달라서 문제가 되었었습니다 감사합니다 :)
|
변종원(웅파)
/
2022/03/15 14:43:33 /
추천
0
그래서 대소문자 중요합니다. 처음부터 원칙을 지켜서 개발하면 리눅스던지 윈도우던지 문제 없이 소스가 돌아갑니다. ^^
|
display_error() 가 어느 패키지에서 나오는 함수인지요?
기본 함수는 아닌것 같은데
---------
helper('해당 함수가있는 헬퍼파일')