Docker Compose PHP·Nginx·MariaDB 시작 경합 재현 — healthcheck 전후를 로그로 검증하기
도입 depends_on은 프로세스 시작 순서를 표현할 수 있지만 DB가 인증과 쿼리를 받을 준비가 됐다는 의미는 아니다. 이 글은 실패 구성을 먼저 실행하고, 타임스탬프 로그와 컨테이너 상태로 healthch...
exec 검색 결과: 8개
도입 depends_on은 프로세스 시작 순서를 표현할 수 있지만 DB가 인증과 쿼리를 받을 준비가 됐다는 의미는 아니다. 이 글은 실패 구성을 먼저 실행하고, 타임스탬프 로그와 컨테이너 상태로 healthch...
PHP 프로젝트는 초기에 빠르게 기능을 붙이다 보면 Controller가 쉽게 비대해진다. 요청 처리, 검증, 비즈니스 로직, DB 쿼리, 응답 생성이 한 파일에 섞이면서 유지보수가 어려워진다. Control...
트랜잭션(Transaction)은 하나의 논리적 작업 단위를 보장하기 위한 DB 기능이다. 여러 개의 SQL이 하나의 작업처럼 처리되며, 전부 성공하거나 전부 실패해야 한다. 결제, 정산, 포인트 차감처럼 데...
PHP는 비교적 빠르게 기능을 만들 수 있는 언어지만, 프로젝트가 커질수록 구조가 무너지기 쉽다. 초기에 패턴과 책임 분리를 정해 두지 않으면, 기능 추가와 수정이 어려운 형태로 굳어지기 때문이다. 실무에서는...
PHP에서 MySQL을 사용할 때 가장 기본이 되는 보안 이슈가 SQL Injection이다. 사용자 입력값이 SQL 문장에 그대로 포함되면서 의도하지 않은 쿼리가 실행되는 취약점이다. 로그인 우회, 전체 데...
CRUD 문법 자체는 단순하지만 운영 데이터에서 어려운 부분은 문법이 아니라 의도한 행만 변경했는지 확인하는 과정이다. 잘못된 WHERE 하나가 여러 행을 수정하거나 삭제할 수 있고, 애플리케이션 입력을 문자열로 조...
서버 세팅 시 PHP 쪽에서 자주 참고하게 된 항목만 정리한 내용이다. exec로 jar 실행 시 Java 설치, php-zip 설치 오류, Access Denied 발생 시 SELinux 대처, CORS 헤더 설정...
서버 세팅 시 php.ini에 자주 설정하는 값들을 정리한 내용이다. 업로드 용량, 실행 시간·메모리, 세션 유지 시간을 한 번에 맞춰 두면 "업로드 안 됨", "세션이 빨리 끊김" 같은 문제를 줄일 수 있다. ...