PHP 21

자바스크립트에 PHP값을 입력할때는 변수에 한번 더 넣어주세요.

// 특수 문자가 포함된 ID를 안전하게 처리 var categoryId = "category_"; $("[id='" + categoryId + "']").addClass("on"); 변수에는 '(부설)' 이란 값이 들어 있었습니다.이걸 처음엔$("[id='"category_"']").addClass("on"); 위와 같이 한줄로 입력을 해버리니 괄호 때문에 오류가 나더군요. 그래서 첫번째 코드와 같이 한번 변수에 입력하고 처리하니 오류가 없었습니다.변수에 한번 감싸는거 귀찮아서 넘길때가 있었는데, 이제 특별히 문제가 되는 상황이 아니면 변수에 넣는걸 게을리 하지 말아야 겠습니다.

PHP 2025.07.16

.env 에 추가 DB설정을 만들땐 Database.php 에도 동일하게 만들어야합니다.

ci4 의 app/config/Database.php 파일에는 db설정이 들어있습니다. 개인적으로 DB암호등 설정이 여기저기 돌아다니는걸 좋아하지 않아 .env 파일에 다 몰아넣는 편입니다.그래서 처음엔 아래와 같이 만들었는데요. database.old.hostname = "localhost"database.old.database = "DB명"database.old.username = "아이디"database.old.password = "암호"database.old.DBDriver = "MySQLi" 문제는 이렇게 설정하고 DB불러오려고 해도 에러가 났어요. 그러니까 old라고 설정했음에도 그거 못찾겠다고 하는겁니다. 생각해보니 .env 파일에 설정하기 전엔 Database.php 파일에 설정해줬으니까...

PHP/CodeIgniter4 2024.08.09

PHP에서 PNG이미지 업로드시 메모리 초과 메시지가 나오는 경우

Fatal error: Allowed memory size of 134217728 bytes exhausted  위와 같은 메모리 초과 문구는 생각보다 자주 봤을겁니다. ( 134217728 bytes 는 128MB입니다.)간단하게   ini_set("memory_limit", "256M");  위와 같이 설정만 해줘도 큰 문제 없이 잘 작동합니다.그런데 제가 작업한건 위와 같은 좀 큰 PNG이미지인데, 용량자체는 5.9MB정도 밖에 안한다는 겁니다.여기에 무제한을 태운다고? 좀 그런데? 아니 많이 그런데...  아무래도 이상했습니다.예전 같으면 그냥 저 페이지만 제한 해제해주고 끝냈을텐데 말이죠.역시 잉여 같은 시간이 좀 남아야 생각을 잘 하나 봅니다. https://stackoverflow.com/q..

PHP 2024.05.21

Codeigniter4 에서 네이버 서버를 사용한 이메일 보내기

https://gaebalgaebal.tistory.com/33 위 내용이 안되어서 네이버에서 비밀번호를 만들고 뭐하고 하여간 복잡하였습니다. https://help.naver.com/service/5640/contents/8584?lang=ko 애플리케이션 비밀번호 사용 방법 (아웃룩 등 2단계 인증 미지원 환경에서 로그인) : 회원정보 고아웃룩, 휴대전화 기본 메일앱, 캘린더앱 등 일부 애플리케이션은 2단계 인증을 지원하지 않습니다.​미지원 환경에서는 먼저 비밀번호를 생성한 후 애플리케이션 화면에서 생성된 비밀번호를help.naver.com일단 네이버에서 위에 처럼 애플리케이션 비밀번호를 만듭니다.만들어야 아래와 같이 코드를 통해 메일을 보낼수 있습니다.  public function send(..

PHP/CodeIgniter4 2024.05.17

.env에 session을 database로 설정할 경우 이전 환경값 사용하지 마세요

ci4에선 환경설정을 .env파일에 몰아서 할 수 있습니다. 여기에는 세션관련값도 설정할수 있습니다. 4.2.x 버전정도까지는 아래처럼 .env에 설정해야 했습니다. #session app.sessionDriver = "CodeIgniter\Session\Handlers\DatabaseHandler" 그런데 4.4x 버전부터는 아래와 같이 변경되었습니다. #session sessionDriver = "CodeIgniter\Session\Handlers\DatabaseHandler" app.sessionDriver 이게 앞에 app. 이 없어지고 sessionDriver 로 변경이 된겁니다. 그래서 ci4로 오래 개발하신 경우 이전 환경값 가져와서 설정하실 경우 세션을 DB로 사용한다고 해놔도 파일로 세션..

PHP/CodeIgniter4 2024.02.29