며칠 전 블로그에 백엔드 관리 기능을 추가하여 SQLite 데이터베이스 디렉터리인 ‘Mdata’와 캐시 디렉터리인 ‘Mcache’를 새로 생성했습니다. 이 기능을 실제로 실행한 후 갑자기 다음과 같은 생각이 떠올랐습니다: 만약 제가 ‘https://domain/Mdata/content.db’를 직접 접속한다면 어떻게 될까요? 이를 시도해 보니 브라우저가 파일을 다운로드하기 시작했는데, 이는 데이터베이스 파일이 완전히 노출된다는 것을 의미합니다. 그 파일에는 모든 게시물이 포함되어 있었습니다…
EmpireCMS를 8.0 버전으로 업데이트했습니다. 일상적인 사용 과정에서 검색 목록 페이지가 동적 PHP 코드 표시를 지원하지 않는다는 점을 발견하였으므로, 이 코드를 수정하여 여기에 삽입하였습니다. <?php require("../../class/connect.php"); require("../../data/dbcache/class.php"); …
`Stmt > execute($categoryIds);` 문법에서 매개변수 전달 관련 문제입니다. 정말 놀랐어요! 단 한 가지 문제만으로도 오후 내내 고민을 해야 했죠! 그런데 저녁에 문서를 확인하다가야 비로소 이 문제가 바로 이 부분에서 발생하는 것임을 깨달았습니다. `PDOException: SQLSTATE[HY093]` 오류 — 핵심 원인은 SQL 문장 내 매개변수 포지터와 `execute` 문법 간의 불일치 때문입니다…
Linux 터미널에서 현재 디렉터리 내 모든 파일 및 하위 디렉터리의 크기를 확인하고 크기순으로 정렬하여 출력하려면 다음 명령어들을 사용할 수 있습니다: 1. 모든 파일 및 디렉터리(숨겨진 파일 포함)의 크기를 출력하고 크기순으로 정렬합니다: `du -sh .[!].* | sort -hr` 2. 각 항목의 크기를 계산합니다(-s: 총합, -h: 인간이 읽을 수 있는 형식): `du -sh .[!].* | sort -hr`
저의 웹사이트는 WordPress와 'Zibei Theme'를 사용하고 있습니다. 'Zibei Theme'는 잘 아는 분들만이 다 이해하실 수 있을 것입니다 — 로그인, 회원 관리, 다운로드 권한, QQ 로그인, 답변 공개 등 다양한 기능이 모두 포함되어 있어, 매번 페이지를 새로 로드할 때마다 데이터베이스를 수십 번 조회해야 합니다. 그래서 이 사이트를 간단히 개선해보고 싶었습니다. 코드는 이미 올려두었어요. https://github.com/1810216796/wordpress-sqlite-cach…
간단하고 효율적인 방법: 코드를 직접 추가하세요. <?php error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); ?> 오류가 발생한 PHP 파일의 맨 위에 이 코드를 추가하기만 하면 됩니다. 이 방법은 현재 실행 중인 스크립트에만 적용됩니다…
이 단일 페이지를 기록해 보세요. 간단한 페이지 구현을 위한 코드는 다음과 같습니다: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="...">
이전 연구에서는 고성능 PHP 캐싱 시스템 설계(지능형 삭제 및 카운팅 관리)에 대해 다루었습니다. 그러나 이 방식은 개별 HTML 파일만 캐싱할 수 있으며, 특정 데이터도 캐싱할 수 없다는 점을 발견했습니다. 또한 inode 제한 문제를 해결하기 위해 캐시 파일을 DB 데이터베이스에 저장하여 효율적인 저장 방식을 구현하려고 시도했습니다. 1. 시스템 개요: 핵심 클래스: ApiCache(ApiCache.php 파일에 위치) | 캐싱 모드: 일반…
웹 프로젝트에서 페이지 캐싱은 성능을 향상시키는 흔한 방법입니다. 저는 이전에 간단한 파일 캐싱 플러그인인 【EmpireCMS PHP 웹페이지 캐싱 코드로 접속 속도 향상】을 사용했는데, 이 플러그인은 모든 페이지를 동일하게 캐싱합니다. 그러나 실제 운영 상황에서는 일부 페이지(예: 홈페이지)는 매일 많은 방문량을 기록하는 반면, 다른 페이지(예: 인기가 낮은 기사)는 드물게만 접속되는 경우가 많습니다. 이러한 '모든 페이지에 동일한 방식으로 캐싱'하는 전략은 다수의 낮은 가치를 지닌 캐시 항목을 생성하게 됩니다…