이 자습서는 메모리 소비를 최소화하는 데 중점을두고 큰 파일을 처리하기위한 효율적인 PHP 기술을 탐구합니다. 우리는 그들의 효과를 입증하기 위해 메모리 사용을 측정하는 몇 가지 접근법을 조사합니다. 열쇠는 전체 파일을 한 번에 메모리에로드하지 않는 것입니다.
주요 전략 :
라인 바이 라인 판독 값 : 및 루프 프로세스 내에서 및
를 사용하여 라인별로 파일을 파일로, 메모리 풋 프린트를 크게 줄입니다. 발전기는 한 번에 하나씩 라인을 산출하여 이것을 더욱 향상시킵니다.-
스트림 배관 : 사용을 사용하는 스트림 (파일 또는 URL)간에 데이터를 효율적으로 전송하고 소스간에 데이터를 직접 처리하여 메모리 사용량을 최소화합니다. 데이터 자체를 조작 할 필요가 없을 때 특히 유용합니다.
fopen()
스트림 필터 : 압축 (zlib.deflate) 및 감압 (zlib.inflate)과 같은 비행 내 데이터 조작에 대한 스트림 필터를 활용합니다. 이것은 메모리 사용 및 성능을 최적화합니다.fgets()
사용자 정의 스트림 컨텍스트 : - 사용자 정의 컨텍스트를 사용하여 스트림 행동을 미세 조정하고 헤더, 메소드 (예 : 사후 요청) 및 기타 매개 변수에 대한 제어를 제공합니다.
사용자 정의 프로토콜 및 필터 (고급) : 복잡한 시나리오의 경우 최대 메모리 효율로 특정 데이터 처리 요구를 처리하기 위해 사용자 정의 프로토콜 및 필터를 작성하십시오. 이를 위해서는 고급 프로그래밍이 필요하지만 최적화의 상당한 잠재력을 제공합니다.
stream_copy_to_stream()
메모리 사용 측정 : -
우리는 및 헬퍼 함수 ()를 사용하여 튜토리얼 전체에서 메모리 소비를 추적합니다. 이를 통해 다른 방법을 직접 비교할 수 있습니다. CPU 사용량도 요소이지만 PHP 내에서 직접 측정하는 것은 실용적이지 않습니다.
시나리오 1 : 라인별로 데이터 라인을 처리하는 시나리오 1우리는 큰 텍스트 파일 (Shakespeare의 완전한 작품)을 읽고 빈 줄에 따라 덩어리로 나누는 것을 보여줍니다. 순진한 접근 방식과 발전기 기반 접근 방식의 비교는 달성 된 메모리 절약을 강조합니다. 시나리오 2 : 파일 사이의 배관 데이터 를 사용하여 파일을 사용하여 파일을 직접 복사하는 메모리 사용법을 비교합니다. 후자는 메모리 사용량을 크게 줄입니다. 또한 원격 URL (예 : CDN 이미지)에서 배관을 보여 드리겠습니다.시나리오 3 : 스트림 필터 사용 이 섹션은 스트림 필터를 사용하여 파일을 압축하고 압축하는 방법을 보여줍니다. 기존 압축 방법에 대한 메모리 효율적인 대안을 제공합니다. 시나리오 4 : 스트림 및 고급 기술 사용자 정의 이 섹션에서는 사용자 정의 스트림 컨텍스트, 프로토콜 및 필터를 만드는 개념을 간략하게 소개합니다. 구현 세부 사항은이 튜토리얼의 범위를 벗어나지 만 고급 메모리 최적화의 가능성을 강조합니다. 이 구조화 된 접근 방식은 PHP의 효율적인 대형 파일 처리에 대한 포괄적 인 이해를 제공하여 개발자가 특정 요구에 대한 최적의 방법을 선택하고 응용 프로그램의 성능 및 리소스 효율성을 크게 향상시킬 수 있도록 권한을 부여합니다. 선택한 전략의 효과를 확인하기 위해 항상 결과를 측정해야합니다.
위 내용은 PHP로 큰 파일을 읽는 방법 (서버를 죽이지 않고)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 PHP Data Objects (PDO)에 대해 설명합니다. PHP의 데이터베이스 액세스 확장. 데이터베이스 추상화 및 더 나은 오류 처리를 포함하여 준비된 진술과 MySQLI에 대한 이점을 통해 보안을 향상시키는 데 PDO의 역할을 강조합니다.

Memcache 및 Memcached는 데이터베이스로드를 줄임으로써 웹 앱을 속이는 PHP 캐싱 시스템입니다. 신중한 키 관리가있는 프로젝트간에 단일 인스턴스를 공유 할 수 있습니다.

기사는 PHP를 사용하여 MySQL 데이터베이스를 생성하고 관리하는 단계에 대해 논의하고 연결, 생성, 일반적인 오류 및 보안 측정에 중점을 둡니다.

이 기사는 다른 환경으로 인해 JavaScript와 PHP가 HTTP 요청을 통해 간접적으로 상호 작용하는 방법에 대해 설명합니다. JavaScript에서 PHP로 데이터를 전송하는 방법을 다루고 데이터 검증 및 PROT와 같은 보안 고려 사항을 강조합니다.

이 기사에서는 단계, 공통 옵션, 문제 해결 오류 및 보안 고려 사항을 포함하여 명령 줄에서 PHP 스크립트 실행에 대해 설명합니다.

Pear는 재사용 가능한 구성 요소를위한 PHP 프레임 워크로, 패키지 관리, 코딩 표준 및 커뮤니티 지원으로 개발을 향상시킵니다.

PHP는 주로 웹 개발에 사용되는 다목적 스크립팅 언어로 동적 페이지를 만듭니다. 명령 줄 스크립팅, 데스크탑 앱 및 API 개발에도 활용할 수 있습니다.

이 기사는 1995 년 "개인 홈페이지 도구"에서 1998 년 "PHP : HyperText Preprocessor"에 이르기까지 PHP의 진화에 대해 논의하며, 개인 웹 사이트를 넘어 확장 된 사용을 반영합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
