Phpinfo 파일 생성 및 PHP 정보 확인 방법. PHP로 파일을 효율적으로 제공 세심한 정보 php

(PHP 3, PHP 4, PHP 5)

phpinfo - PHP에 대한 많은 정보를 표시합니다.

설명

정수 phpinfo()

현재 PHP 상태에 대한 많은 정보를 표시합니다. 여기에는 PHP 컴파일 옵션 및 확장, PHP 버전, 서버 및 환경 정보(모듈로 컴파일된 경우), PHP 환경, OS 버전, 경로, 마스터 및 로컬 구성 옵션 변수, HTTP 헤더 및 PHP 라이선스에 대한 정보가 포함됩니다. 각 시스템이 다르게 구성되어 있기 때문에 phpinfo()는 일반적으로 주어진 시스템에서 구성 설정 및 미리 정의된 변수의 가용성을 확인하는 데 사용됩니다.또한 phpinfo()는 모든 EGPCS 데이터(Environment, GET, POST, 쿠키, 서버). 다음 중 하나 이상을 전달하여 출력을 특수화할 수 있습니다. 끊임없는선택적 매개변수 what 에 요약된 비트 값. 해당 상수 또는 비트 값을 .

표 1. phpinfo() 옵션
이름(상수) 값 설명 INFO_GENERAL1 구성 문자열, php.ini 위치, 빌드 날짜/빌드, 웹 서버, 시스템 등 INFO_CREDITS2 PHP 4 크레딧. 참조 phpcredits() .INFO_CONFIGURATION4 php 지시문의 현재 로컬 및 마스터 값. ini_get()도 참조하십시오. INFO_MODULES8로드된 모듈 및 해당 설정.INFO_ENVIRONMENT16환경 변수 정보는 $_ENV에서도 사용 가능합니다.INFO_VARIABLES32EGPCS(환경, GET, POST, 쿠키, 서버)에서 미리 정의된 모든 변수를 표시합니다.INFO_LICENSE64PHP 라이선스 정보. also license faq .INFO_ALL-1 위의 모든 항목 기본값입니다.

참고: Exposure_php 구성 설정이 off 로 설정된 경우 표시된 정보의 일부가 비활성화됩니다. 여기에는 PHP 및 Zend 로고와 크레딧이 포함됩니다. 또한

어느 소프트웨어웹 서버에서 실행하려는 애플리케이션에는 충족해야 하는 특정 요구 사항이 있습니다. 예를 들어 WordPress에는 PHP 버전 5.2.4 이상이 필요합니다. 서버에 따라 일부 PHP 설정을 변경할 수 있고 다른 설정은 반대로 변경할 수 없지만 phpinfo 파일에서 모든 설정에 대한 정보를 얻을 수 있습니다. 이 튜토리얼에서는 phpinfo 파일을 생성하고 PHP 모듈의 값과 상태를 찾는 방법을 배웁니다. 또한 max_execution_time, memory_limit, post_max_size 등과 같은 호스팅 계정에 대한 정보를 얻는 데 유용할 수 있습니다.

이 가이드를 시작하기 전에 다음이 필요합니다.

  • 호스팅 제어판 또는 FTP 계정에 대한 액세스

옵션 1 - 호스팅 제어판을 통한 PHP 정보 확인

Hostinger에서 계정의 PHP 정보는 다음에서 찾을 수 있습니다. 더 보기 → PHP 정보. 이것은 호스팅에 추가 파일을 생성할 필요가 없기 때문에 매우 편리한 기능입니다.

그런 다음 PHP 버전, 모듈 및 값에 대한 모든 필수 정보가 있는 페이지로 이동합니다. 특정 모듈이나 기능을 검색하려면 키보드 단축키를 눌러 검색을 이용하세요. CTRL+F.

축하해요! Hostinger 제어판을 통해 PHP 정보에 액세스하는 방법을 배웠습니다.

옵션 2 - phpinfo.php 파일을 생성하여 PHP 정보 확인

호스팅 플랫폼이 에 표시된 기능을 지원하지 않더라도 걱정하지 마십시오. 옵션 1. 호스팅 계정 내에 특수 파일을 생성하여 동일한 결과를 얻을 수 있습니다. 이 파일은 또한 PHP에 대한 모든 정보를 표시하며 브라우저를 통해 액세스할 수 있습니다.

2.1단계 - phpinfo 파일 생성

phpinfo 파일을 만드는 방법에는 여러 가지가 있습니다. 이 가이드에서는 를 사용합니다. 그러나 컴퓨터에 파일을 생성해도 동일한 결과를 얻을 수 있습니다. 로컬 컴퓨터를 통해 파일을 서버에 추가로 업로드합니다.

호스팅 제어판에 로그인하고 열기 파일 관리자 . 버튼을 클릭 새로운 파일새 파일을 생성합니다.

첫 번째 필드에서 새 파일이 생성될 경로를 지정합니다. 다음으로 현장에서 새 파일 이름입력하다 phpinfo.php. 대부분의 경우 경로를 변경하지 않고 그대로 둘 수 있습니다. /public_html. 이 경우 웹사이트의 루트 디렉터리에 파일이 생성됩니다.

2.2단계 - 파일 편집

이 시점에서 이미 빈 파일이 있습니다. phpinfo.php카탈로그에서 public_html. 다음 코드를 파일에 복사하고 아이콘을 클릭합니다. 구하다화면 왼쪽 모서리에 있습니다.

모든 PHP 옵션을 표시할 PHP 파일을 성공적으로 만들었습니다. 앞서 언급한 바와 같이 다음과 같이 동일한 결과를 얻을 수 있습니다.

  1. 아무거나 사용 텍스트 에디터그리고 파일 생성 phpinfo.php컴퓨터에서.
  2. 파일에 다음 코드를 추가합니다.
  1. FTP를 사용하여 디렉터리에 파일 업로드 public_html.

2.3단계 - 브라우저를 통해 PHP 정보 확인

모든 것이 올바르게 완료되었으면 이제 도메인 이름 끝에 추가하여 생성된 파일에 액세스할 수 있습니다. /피hpinfo.php. 예를 들어, http://yourdomain.ru/phpinfo.php

브라우저에서 이 페이지를 열면 비슷한 결과가 표시됩니다.

이 페이지에서 모든 PHP 설정을 볼 수 있습니다.

결론

이 튜토리얼을 마치면 phpinfo 파일을 생성하는 방법과 자신의 정보를 확인하는 방법을 배웠습니다. PHP 설정. 이 정보호스팅 설정을 알고 싶거나 특정 PHP 모듈이 필요한 소프트웨어를 실행하려는 경우에 유용합니다.

웹 서버에서 직접 파일을 보내지 않고 PHP를 사용하여 파일을 보내야 하는 경우(예: 다운로드 통계 수집) cat.

1. readfile() 사용

이 방법은 기본적으로 작동하기 때문에 좋습니다. 자신만의 파일 전송 기능을 작성하기만 하면 됩니다(공식 문서에서 약간 수정된 예).

Function file_force_download($file) ( if (file_exists($file)) ( // 스크립트에 할당된 메모리 오버플로를 방지하기 위해 PHP 출력 버퍼를 재설정합니다. // 이렇게 하지 않으면 파일을 메모리로 완전히 읽어들입니다! if (ob_get_level()) ( ob_end_clean(); ) // 브라우저에 파일 저장 창 표시 header("Content-Description: 파일 전송"); header("Content-Type: application/octet-stream"); ​​header("Content-Disposition: attachment; filename=" . basename($file)); header("Content-Transfer-Encoding: 바이너리 ") ; header("만료: 0"); header("Cache-Control: must-revalidate"); header("Pragma: public"); header("Content-Length: " . filesize($file)); // 파일을 읽고 사용자에게 보냅니다. readfile($file); exit; ) )
대용량 파일도 이 방법으로 보낼 수 있습니다. PHP가 파일을 읽고 즉시 사용자에게 부분적으로 제공하기 때문입니다. 설명서에는 readfile() 해서는 안된다메모리 문제를 만듭니다.

특징:

  • 파일은 크기가 8kB인 readfile() 함수의 내부 버퍼로 읽혀집니다(2fast4rabbit 덕분에).

2. 수동으로 파일 읽기 및 보내기

이 방법은 개인에서 파일을 보낼 때 동일한 Drupal을 사용합니다. 파일 시스템(직접 연결되지 않은 파일):

Function file_force_download($file) ( if (file_exists($file)) ( // 스크립트에 할당된 메모리 오버플로를 방지하기 위해 PHP 출력 버퍼를 재설정합니다. // 이렇게 하지 않으면 파일을 메모리로 완전히 읽어들입니다! if (ob_get_level()) ( ob_end_clean(); ) // 브라우저에 저장 파일 창 표시 header("Content-Description: File Transfer"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename =" .basename($file)); header("Content-Transfer-Encoding: binary"); header("Expires: 0"); header("Cache-Control: must -revalidate"); header("Pragma: public"); header("Content-Length: " . filesize($file)); // 파일을 읽고 사용자에게 보냅니다 if ($fd = fopen($file) , "rb")) ( while (!feof($ fd)) ( print fread($fd, 1024); ) fclose($fd); ) 종료; ) )
특징:

  • 스크립트는 전체 파일을 읽고 사용자에게 제공할 때까지 기다립니다.
  • 서버 메모리 절약

3. 웹 서버 모듈 사용

3a. 아파치
XSendFile 모듈을 사용하면 특수 헤더를 사용하여 Apache 자체에 파일을 보낼 수 있습니다. 버전 2.0.*, 2.2.* 및 2.4.* 아래에 Unix 및 Windows용 버전이 있습니다.

호스트 설정에서 다음 지시문을 사용하여 헤더 가로채기를 활성화해야 합니다.
XSendFile 켜기
처리할 수 있는 파일인 디렉터리의 화이트리스트를 지정할 수도 있습니다. 중요: 서버 기반이 있는 경우 창 경로대문자 드라이브 문자를 포함해야 합니다.

개발자 웹사이트에서 가능한 옵션 설명: https://tn123.org/mod_xsendfile/

파일 업로드 예:

기능 file_force_download($file) ( if (file_exists($file)) ( header("X-SendFile: " . realpath($file)); header("Content-Type: application/octet-stream"); ​​header (" Content-Disposition: attachment; filename=" . basename($file)); exit; ) )

3b. 엔진엑스
Nginx는 특수 헤더를 통해 즉시 파일을 보낼 수 있습니다.

올바른 작동을 위해 구성 파일을 통해 직접 폴더에 대한 액세스를 거부해야 합니다.
위치 /보호됨/ ( 내부; 루트 /일부/경로; )
파일 전송의 예(파일은 /some/path/protected 디렉토리에 있어야 함):

기능 file_force_download($file) ( if (file_exists($file)) ( header("X-Accel-Redirect: " . $file); header("Content-Type: application/octet-stream"); ​​header( "Content -Disposition: attachment; filename=" . basename($file)); exit; ) )
공식 문서 페이지에 대한 추가 정보

특징:

  • 모든 명령이 실행된 후 스크립트가 즉시 종료됩니다.
  • 물리적으로 파일은 PHP가 아닌 웹 서버 자체의 모듈에서 전송됩니다.
  • 메모리 및 서버 리소스의 최소 소비
  • 최대 성능

업데이트: Habrauser ilyaplot은 application/octet-stream 대신 파일의 실제 MIME 유형을 보내는 것이 더 낫다는 좋은 조언을 제공합니다. 예를 들어 이렇게 하면 브라우저가 원하는 프로그램파일 저장 대화 상자에서.




맨 위