찾다

 >  Q&A  >  본문

PHP 정적 변수가 요청 전반에 걸쳐 지속되지 않는지 확인

PHP 요청 사이에 정적 변수가 저장되지 않는다는 보장을 찾고 있습니다. 이전 질문은 다음과 같습니다.

여러 .php 페이지에 걸친 PHP 정적 변수

PHP의 정적 변수는 요청 전반에 걸쳐 지속되나요?

세션 간 정적 변수

분명히 말하면 그렇지는 않지만 예상되는 동작에 대한 구체적인 논의보다는 상태를 유지하는 방법을 제공하는 데 더 가깝습니다.

예를 들어, 내 PHP 코드가 다음과 같다면:

으아악

그런 다음 실행할 때마다 0123456789가 출력됩니다. PHP에 대한 나의 직관/이해는 이것이 사실임에 틀림없다고 상당히 확신하게 해줍니다.

내 실험에서는 요청 사이에 변수가 기억되지 않도록 하기 위해 (사전 포크된) 아파치를 하위 프로세스로 종료했습니다. 예상대로 요청 간에는 기억되지 않습니다. 그러나 이는 PHP가 실행되는 하나의 시나리오일 뿐입니다.

내가 찾고 있는 것은:

이것은 예상된 동작이며 변경되지 않는다는 공식 문서에 대한 링크입니다. PHP 문서의 관련 부분에서는 이에 대해 명시적으로 언급하지 않습니다(주석 제외).

또는 요청 간에 정적 변수가 기억되는 경우(예: 웹 서버 또는 성능 향상 PHP 프레임워크) 요청 간 속도를 향상시키기 위해 정적 변수를 지우지 않을 수 있습니다.

P粉567281015P粉567281015395일 전777

모든 응답(1)나는 대답할 것이다

  • P粉654894952

    P粉6548949522023-10-31 00:02:00

    PHP는 요청 사이에 애플리케이션 상태를 유지하지 않습니다. PHP 애플리케이션 수명 주기 동안 요청이 있을 때마다 애플리케이션이 다시 실행됩니다. 정적 변수는 실행이 범위를 벗어날 때 로컬 함수 범위에서 변수 값을 유지하도록 설계되었습니다. 문서 어디에도 정적 변수가 요청 전반에 걸쳐 값을 유지하기 위한 것이라는 언급이 없습니다.

    회신하다
    0
  • 취소회신하다