PHP의 메모리 제한은 무엇입니까?

PHP의 메모리 제한은 무엇입니까?

저는 웹 호스트와 대규모 웹사이트(예: 학습 플랫폼)를 만드는 방법을 배우고 있습니다.

PHP 메모리 제한은 서버의 일부 "RAM 메모리"(예: 내 컴퓨터의 RAM 메모리)인가요? 아니면 하드 드라이브에서 사용할 수 있는 일종의 공간인가요?

답변1

클라이언트가 웹 서버에 요청을 하고 PHP가 이를 처리할 때마다 PHP 프로세스가 생성됩니다.

이 PHP 프로세스의 임무는 분명히 클라이언트에 반환할 일부 HTML을 생성하는 것입니다. PHP 프로세스는 이를 수행해야 하는 PHP 스크립트에 런타임을 제공합니다.

메모리 제한은 이 프로세스가 사용할 수 있는 최대 메모리 양입니다. 이를 초과하면 프로세스가 실패하고 Apache는 HTTP 500 오류를 보고합니다.

기본적으로, PHP 스크립트에 계속해서 더 많은 RAM을 요청하는 무한 루프와 같은 오류가 있는 경우 이는 전체 서버가 다운되는 것을 방지할 수 있는 하나의 보루입니다.

답변2

php.ini 파일을 찾아 필요에 맞게 정의 메모리 제한을 늘립니다. PHP는 의도적으로 PHP가 사용할 수 있는 RAM의 양을 제한하므로 해커가 모든 메모리를 사용하여 서버가 충돌/잠금/다른 나쁜 작업을 수행할 수 없도록 합니다.

참고: 성능을 유지하려면 실제 메모리 크기의 약 60%보다 큰 값을 입력하지 마십시오.

관련 정보