opendir () 및 readdir () 함수는 특정 시스템 리소스를 할당하여 디렉토리를 열고 읽습니다. 여러 디렉토리가 열리거나 이러한 기능이 고주파수로 호출되면 ClosedIR ()가 호출되지 않으면 프로그램이 실행되는 동안 여지가없는 리소스가 축적 될 수 있습니다. 이것은 시스템 메모리를 점유 할뿐만 아니라 메모리 누출로 이어질 수 있으며, 이는 프로그램의 성능과 안정성에 영향을 미칩니다.
PHP에서 파일 핸들은 제한된 시스템 리소스입니다. ClosedIR () 호출을 잊어 버린 경우 OpenDir () 가 열리는 디렉토리 리소스는 매번 릴리스되지 않습니다. 이로 인해 파일 핸들 수가 점차 증가하게되며 결국 사용 가능한 파일 핸들 리소스가 소진되어 OpenDir () 또는 기타 파일 작업 기능이 더 이상 제대로 작동하지 않습니다. 특히 많은 파일 또는 디렉토리를 처리 할 때 파일 핸들을 소진하면 프로그램이 관련 파일 작업을 계속 수행 할 수 없습니다.
PHP 프로그램이 디렉토리 리소스를 제 시간에 닫지 않으면 미공개 리소스가 CPU 및 메모리를 소비하여 프로그램의 실행 효율에 영향을 미칩니다. 특히 장기 실행 스크립트 (예 : 데몬 또는 백그라운드 작업) 에서이 빌딩 된 디렉토리 핸들은 시스템 리소스를 지속적으로 소비하여 전반적인 성능 저하를 초래할 수 있습니다. 특히 높은 동시 시나리오에서 과도한 리소스 사용은 전체 시스템의 응답 속도를 늦출 수 있습니다.
디렉토리 리소스가 제 시간에 닫히지 않으면 시스템 파일 핸들의 제한이 미리 소진 될 수있어 운영 체제가 새 파일 핸들을 할당 할 수 없습니다. 이는 PHP 프로그램에 영향을 줄뿐만 아니라 다른 실행 프로세스에도 영향을 미치므로 전체 시스템에서 파일 시스템 작동이 발생합니다.
ClosedIR ()을 사용하는 것을 잊어 버린 경우, 어떤 경우에는 프로그램에 명백한 오류 나 경고가 발생하지 않아 개발자가 자원이 해제되지 않았다는 것을 직관적으로 인식 할 수 없습니다. Closedir ()는 필요한 기능이 아니기 때문에 많은 개발자가 코드를 작성한 후에는 무시할 수 있으며, 이로 인해 프로덕션 환경에서 자원 누출이 천천히 나타납니다. 이러한 문제를 디버깅 할 때 더 많은 심층 조사가 필요하므로 개발 및 유지 보수의 어려움이 증가합니다.