본문 바로가기

컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

조회 수 410 추천 수 0 댓글 0

단축키

Prev이전 문서

Next다음 문서

수정 삭제

단축키

Prev이전 문서

Next다음 문서

수정 삭제
Extra Form

PHP memory_limit는 고속도로의 속도 제한이 차량당인 것처럼 스크립트당입니다. 예를 들어 PHP의 메모리 제한이 1GB로 높게 설정되어 있어도 스크립트가 1GB를 사용하기 위해 쌓이는 것은 아닙니다. PHP의 memory_limit 설정 을 이해 하는 방법을 간단히 살펴보겠습니다 .

 

 

PHP memory_limit는 스크립트별 설정입니다.

PHP.net의 문서에는 다음과 같이 나와 있습니다.

이것은 스크립트 가 할당할 수 있는 최대 메모리 양을 바이트 단위로 설정합니다. 이것은 서버에서 사용 가능한 모든 메모리를 소모하기 위해 잘못 작성된 스크립트를 방지하는 데 도움이 됩니다...

출처: http://php.net/manual/en/ini.core.php#ini.memory-limit

MySQL의 key_buffer_size 또는 innodb_buffer_pool 설정과 달리 PHP memory_limit 설정은  여러 PHP 스크립트가 풀링되거나 확장되는 저장 공간 이 아닙니다 . 오히려  스크립트당 제한 입니다. PHP memory_limit는  단일  PHP 스크립트가 사용할 수 있는 최대 서버 메모리 양입니다. 차단되면 결과 오류 출력은 다음과 같습니다.

This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server...

또는 다음과 같이:

Fatal error: Allowed memory size of x bytes exhausted (tried to allocate x bytes) in /path/to/php/script

따라서 예를 들어 두 개 이상의 스크립트가 동시에 요청되면 각각은 서로 완전히 독립적입니다. 그들은 memory_limit 설정을 공유하지 않습니다. PHP 는 멀티스레딩을 위해 설계되지 않았으며 지원하지도 않습니다 . 따라서 5개의 PHP 스크립트가 각각 100MB를 동시에 사용하는 경우 총 500MB의 PHP 메모리 사용량이 발생하고 PHP 메모리 제한 1억 2800만 개에 도달하지 않습니다.

즉, require, include 또는 include_once를 사용하여 인라인으로 다른 PHP 스크립트를 요청하는 스크립트의 경우 이 제한은 상위 스크립트에 종속된 포함된 모든 스크립트에서 상속 및 공유됩니다.

"include 문은 지정된 파일에 있는 모든 텍스트/코드/마크업을 가져와서 include 문을 사용하는 파일에 복사합니다. require() 함수는 오류를 다르게 처리한다는 점을 제외하면 include()와 동일합니다. 오류가 발생하면 include() 함수가 경고를 생성하지만 스크립트는 계속 실행됩니다. require()는 치명적인 오류를 생성하고 스크립트는 중지됩니다." – W3학교 .

"require_once() 문은 PHP가 파일이 이미 포함되어 있는지 확인하고 포함되어 있으면 다시 포함(요구)하지 않는다는 점을 제외하면 require()와 동일합니다." – php.net

PHP 메모리 제한
PHP memory_limit는 고속도로의 속도 제한이 차량당인 것처럼 스크립트당입니다.

이제 서두에서 언급한 원래의 예에 대해 살펴보겠습니다. PHP 스크립트가 128M 이상을 사용하려고 하면 해당 스크립트가 이제 메모리 제한 초과 오류를 반환하기 때문에 128M의 낮은 설정은 항상 더 좋습니다. 위의 문제에서는 그렇지 않았으므로 128M 또는 1G memory_limit 설정에 관계없이 비효율적인 스크립트가 있는 경우에만 작동합니다.

 

다행히 PHP memory_limit 설정은 비효율적인 코드를 차단하여 코드를 최적화하도록 경고합니다. 수정될 때까지 PHP 메모리 부족 오류로 인해 웹 애플리케이션을 사용할 수 없게 되는 것을 방지하기 위해 PHP memory_limit를 일시적으로 늘릴 수 있습니다.

서버에 사용 가능한 메모리가 없는 경우 스크립트 요구 사항을 충족하거나 코드를 최적화하기 위해 PHP memory_limit를 늘릴지 결정해야 하는 경우가 있습니다. 가능하면 항상 기본 옵션으로 최적화하는 것이 가장 좋습니다. 또한 특정 웹사이트에 대한 PHP의 메모리 제한을 늘릴 수 있습니다. 한 가지 방법은 사이트의 웹 루트에 php.ini 파일을 배치하는 것입니다. 특정 scriptname.php에 대한 제한을 설정할 수도 있습니다. 예를 들어 ini_set('memory_limit','256MB') 를 사용 합니다.

 

PHP  memory_limit 를 늘리는 방법

PHP 메모리 제한 설정을 늘리려면 PHP.ini 파일을 편집하십시오. php.ini에서 PHP 메모리 제한 라인 의 기본값(예: 스크립트가 소비할 수 있는 최대 메모리 양 = 128MB)을 늘 립니다.

memory_limit = 256M

 

php_value memory_limit 256M

이러한 파일에 액세스할 수 없거나 이러한 변경 작업에 대한 경험이 부족한 경우 웹 호스트에 연락하여 PHP 메모리 제한을 늘리도록 요청할 수 있습니다.


컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

  1. 구글 최신 뉴스

    날짜2024.12.12 카테고리뉴스 읽음1386
    read more
  2. 아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ

    날짜2025.05.20 카테고리일반 읽음237
    read more
  3. 사랑LOVE 포인트 만렙! 도전

    날짜2025.03.19 카테고리 읽음4681
    read more
  4. 🚨(뉴비필독) 전체공지 & 포인트안내

    날짜2024.11.04 카테고리 읽음25853
    read more
  5. URL만 붙여넣으면 끝! 임베드 기능

    날짜2025.01.21 카테고리 읽음20432
    read more
  6. 아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ

    날짜2025.05.20 카테고리일반 조회수237
    Read More
  7. 저렴한 중국산 외장 SSD의 실체

    날짜2025.05.17 카테고리일반 조회수515
    Read More
  8. 인텔 애로우레이크의 CPU 내부 다이 모습

    날짜2025.05.10 카테고리일반 조회수600
    Read More
  9. 스카이프, 오늘 서비스 종료

    날짜2025.05.10 카테고리일반 조회수602
    Read More
  10. SKT "보상 시 고객도 입증책임"

    날짜2025.05.10 카테고리일반 조회수630
    Read More
  11. KISA, 신규 악성코드 위협 공지...SKT 내부 서버에서 ‘BPF도어’ 악성코드 변종 8종 추가 발견

    날짜2025.05.10 카테고리정보 조회수577
    Read More
  12. “SK하이닉스 내부자에 뚫렸다” 中이직 앞두고 1만여건 기술 유출

    날짜2025.05.10 카테고리일반 조회수572
    Read More
  13. 기가바이트, 12년만에 메인보드에 새로운 기능을 추가

    날짜2025.05.10 카테고리일반 조회수589
    Read More
  14. SKT “위약금 면제 시 수백만명 해지… 분위기 휩쓸려 시장 대혼란”

    날짜2025.05.10 카테고리일반 조회수594
    Read More
  15. CUDA 툴킷, 맥스웰, 파스칼, 볼타 지원 중단

    날짜2025.05.10 카테고리일반 조회수596
    Read More
  16. 그래픽카드를 활용한 암호 해독 벤치마크

    날짜2025.05.10 카테고리일반 조회수598
    Read More
  17. 애즈락 X870 스틸 레전드 메인보드에서 라이젠 9 9950X CPU가 사망

    날짜2025.05.10 카테고리일반 조회수584
    Read More
  18. 코어 울트라 200 메인보드, PCIe 5.0 M.2 성능 제한이 있음

    날짜2025.05.10 카테고리일반 조회수562
    Read More
  19. 시게이트, 2030년까지 100TB 하드디스크 출시

    날짜2025.05.10 카테고리일반 조회수582
    Read More
  20. MS가 인텔 18A 공정 계약을 체결?

    날짜2025.05.10 카테고리정보 조회수596
    Read More
  21. 블루투스 6.1 발표. 전력 효율과 보안 향상

    날짜2025.05.10 카테고리정보 조회수615
    Read More
  22. 중국 Hygon, 128코어 512스레드의 서버 프로세서 로드맵 공개

    날짜2025.05.10 카테고리정보 조회수577
    Read More
  23. 인텔, 컴퓨텍스에서 아크 프로 B60 24GB를 발표?

    날짜2025.05.10 카테고리정보 조회수617
    Read More
  24. 지포스 RTX 5060의 리뷰용 드라이버가 없음

    날짜2025.05.10 카테고리일반 조회수624
    Read More
  25. 젠슨황이 사인한 리바 TNT 엔지니어링 프로토타입 키트, 도시락 상자

    날짜2025.05.10 카테고리일반 조회수565
    Read More
  26. SSD랑 HDD 가격 요즘 진짜 헬이다… 업체들 때문에 미쳐버릴 듯

    날짜2025.04.18 카테고리일반 조회수4657
    Read More
  27. 컴퓨터 메인보드용 ddr6 메모리는 언제나올지 찾아봤는데

    날짜2025.04.08 카테고리일반 조회수596
    Read More
  28. 갤럭시탭 S10 FE 4월 3일 출시했습니다. 혜택 나쁘지 않네요

    날짜2025.04.05 카테고리일반 조회수842
    Read More
  29. 절대 공개하지 않는 메인보드 AS센터의 전설의 기술

    날짜2025.03.30 카테고리수리/AS 조회수926
    Read More
  30. 메인보드 수리방법 가감없이 공유합니다! #shorts

    날짜2025.03.30 카테고리수리/AS 조회수864
    Read More
  31. 라이카와 협업한 샤오미 15 울트라 실버 크롬 언박싱

    날짜2025.03.29 카테고리일반 조회수971
    Read More
  32. 어도비 비정품 알림 Adobe 앱 라이선스 관련 알림창 없애기

    날짜2025.03.28 카테고리일반 조회수616
    Read More
  33. 윈도우 12, 과연 등장할까? (예상 및 루머 정리)

    날짜2025.03.21 카테고리일반 조회수899
    Read More
  34. 메인보드중에 고장률이 가장 낮은 회사

    날짜2025.03.19 카테고리일반 조회수682
    Read More
  35. 벽 콘센트 꼽는거 구멍 위치가 정해져있었네

    날짜2025.03.14 카테고리일반 조회수1440
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 355 Next
/ 355