2013-03-16 7 views
-1

남자들이 PHP 스크립트에서 파일을 필요로하며 유효한 파일 인 경우,이 파일은 사용자가 몇 번이나이 스크립트에 액세스 할 수 있는지, 아니면 각 액세스를 포함했는지 만 표시되지만 낭비되는 것으로 보입니다. 의지? 그건 그렇고,이 문제는 서버로 apache2를 사용합니다. require_once가 있기 때문에 왜 있어야합니까? require_once는 이미 요구 사항을 수행 했으므로 다시 포함되지 않습니다. 이것에 대한 확고한 이유가 있습니까, 나는 어떤 경우에 require_once보다 더 좋을 것을 요구합니까? 더 나은 이해를 위해여러 사용자가 액세스 할 때 PHP 핸들 파일이 "필요"합니까?

+0

"사용자가 액세스 한 것"은 무엇을 의미합니까? 표시중인 웹 사이트의 사용자 인 경우 한 번에 하나씩 표시됩니다. – kennypu

+0

그래, 그게 무슨 뜻이야. –

답변

0

짧은 대답은 : 프로그램으로 PHP 스크립트의 생각합니다. 스크립트는 사용자가 액세스 할 때마다 실행되고 포함되거나 필요한 (ed) 파일은 매번로드됩니다.

그래서 100 명의 사용자가 동시에 PHP 페이지에 액세스하고 그 페이지에 다른 스크립트가 필요한 경우이 다른 스크립트는 100 번로드됩니다 (디스크 캐시에서 발생할 가능성이 큽니다).

require와 require_once의 차이는 RTM입니다. 짧은 버전 : require_once는 스크립트의 수명 기간 동안 특정 파일이 한 번만 require (d)되도록합니다 (include 루프를 방지하는 데 가장 유용합니다). require는 동일한 코드 스 니펫을 포함 할 수 있습니다. 스크립트의 여러 위치 (예 : 페이지 상단과 하단에 동일한 광고 배너를 추가)

리소스 낭비를 줄이는 데 도움이되는 캐싱 메커니즘 (예 : memcached)이 있습니다 (질문에서 기대하는 방식이 아님).

+0

좋아, 각 사용자에게 특정 페이지가 확실히 요구에 대한 케이스 것입니다, 나는 그것을 가지고있어, 고마워! –

+0

방금 ​​말한 것을 잊어 버렸습니다. 그건 바보 같았습니다. 제발 웃지 마세요. –

1

다시 이러한

require_once를 문은 파일이 이미 포함되어 있는지 확인합니다 PHP를 제외하고 필요로 동일 잘 읽고, 그렇게 포함되지 않은 경우 (필요).

http://php.net/manual/en/function.require-once.php

은 또한 치명적인 E_COMPILE_ERROR 레벨의 에러를 생성 할 것이다 실패시 제외 포함 동일 요구. 즉, include는 스크립트를 계속 실행하는 경고 (E_WARNING) 만 내보내는 반면 스크립트는 중지합니다.

http://www.php.net/manual/en/function.require.php