기본적으로 Excel Office 2000-XP-2003은 타사 매크로 실행 기능을 비활성화합니다. 에 뛰어나다메뉴로 이동 도구>>매크로>>보안. 탭에서 " 신뢰할 수 있는 게시자» 확인란을 선택하십시오 « 신뢰 액세스 비주얼 베이직프로젝트»

환경 오피스 2007
1) "사무실" 버튼

2) 보안 센터 >> 보안 센터 옵션


3) 매크로 설정 >> "에 대한 액세스를 신뢰하십시오. 개체 모델 VBA 프로젝트"

활성 데이터에 따라 요약 보고서가 준비되었습니다! 저것들. "선택 패널"(필터, 테이블 그룹화 제외)의 선택, "수입", "지출" 탭이 겹쳐집니다....

Excel에서 차트를 작성하려면 요약 보고서에서 삽입 >> 차트를 클릭하고 차트 준비 마법사에서 데이터를 선택합니다. MS Office 도움말 섹션 "피벗 테이블"에서 자세한 내용을 읽으십시오.

보고서는 다음에서 작동하도록 보장됩니다. 루스-ko Windows 버전.

Excel의 보고서는 템플릿을 기반으로 생성됩니다. 플러그인 가능한 템플릿은 폴더에 있습니다. 내 보고서 Home Finance 폴더에서 이를 기반으로 만들 수 있습니다. 자신의 템플릿프로그램에서 사용할 수 있습니다.

간략한 보고서합계를 계산하는 다른 메커니즘을 사용하여 테이블의 내용을 인쇄할 수 있습니다.

다목적 보고 도구는 HTML에 업로드모든 설정 및 그룹화를 유지하면서 해당 테이블에 열려 있는 HTML 문서거의 모든 MS Office 응용 프로그램에서 열 수 있습니다.

이 튜토리얼에서는 PHP 오류를 숨기는 것과 같은 것을 배울 것입니다. 그 과정에서 이러한 오류의 출력을 억제하는 방법뿐만 아니라 로그 파일에 작성하는 방법, 이 로그 파일을 보호하는 방법, PHP 오류 보고 수준을 설정하는 방법(얼마나 심각한 오류가 표시, 경고 표시 여부), 설정 방법 배우기 최대 크기오류 라인을 제거하고 반복되는 오류 기록을 끕니다.

PHP 오류를 숨겨야 합니까?

PHP 오류는 공격자가 사이트와 서버에 대한 데이터를 수집할 수 있는 다양한 정보를 제공합니다. 그러나 이 질문에 "예"라는 확실한 대답이 있다면 PHP 프로그램으로 각 파일에 한 줄만 추가하면 모든 것이 해결될 것입니다.

error_reporting(0);

실제로 경고(중요하지 않은 오류)를 포함한 모든 오류는 테스트 단계에서 표시되어야 합니다. 오류 및 경고의 출력은 또한 작업 환경의 기존(또는 가능한) 문제를 이해하는 데 도움이 됩니다. 무료 배포를 목적으로 하는 프로그램에서 오류 및 경고 출력을 억제하지 마십시오. 문제가 발생하면 문제에 대한 모든 사용자 보고가 "흰색 화면이 있습니다"와 같기 때문에 해결하기가 매우 어렵기 때문입니다.

일반적으로 개발 서버(예: 홈 서버), 메소드를 사용하여 PHP 오류 및 경고를 정리할 필요가 없습니다. error_reporting(0); 그리고 @ - 원인을 연구하고 교정해야 합니다. 원천.

작동 중인 서버에서는 PHP 코드에서 발생한 오류를 모든 사람에게 표시하지 않는 것이 좋습니다. 그러나 표시를 억제할 뿐만 아니라 로그를 유지하고 다음에 대해 기록해 두는 것이 좋습니다. 시스템 관리자 PHP 프로그래머의 경우 - 이 로그에서 중요한 정보~에 대한 가능한 문제사이트/서버.

.htaccess로 PHP 오류 로깅을 활성화하는 방법

튜토리얼의 이 부분에서는 Apache 사용자에게 PHP 오류 출력을 억제하고 방문자로부터 이를 숨기는 방법을 보여주고 추가 분석을 위해 PHP 오류 로깅을 활성화하며 이 모든 구성은 .htaccess 파일을 통해 수행됩니다.

일반적으로 이 방법에는 또 다른 큰 이점이 있습니다. 모든 PHP 오류 및 경고를 포착하려고 하는 대신 개인 로그에 각각 기록합니다. 덕분에 오류가 발생하지 않았더라도 탈출하지 않습니다. 귀하와 귀하의 사이트를 방문하는 사람은 모델링을 위해 귀하에게 발생하지 않았을 수도 있습니다. 덕분에 이 효과적인 전략을 쉽게 구현할 수 있습니다.

방문자에게 PHP 오류 숨기기

있다 다른 방법들.htaccess로 PHP 오류를 억제합니다. 이는 도메인의 httpd.conf 파일 또는 .htaccess 파일의 루트(또는 다른 대상 디렉토리)에 다음 내용이 포함된 다음 .htaccess 지시문을 포함하여 수행할 수 있습니다.

# PHP 오류 억제 php_flag display_startup_errors 꺼짐 php_flag display_errors 꺼짐 php_flag html_errors 꺼짐 php_value docref_root 0 php_value docref_ext 0

이렇게 하면 PHP 오류가 더 이상 사이트에서 공개되지 않습니다. 이렇게 하면 잠재적인 보안 위험이 제거되고 보기 흉하고 모호한 PHP 오류가 사이트 레이아웃을 깨뜨리고 방문자를 혼란스럽게 하는 것을 방지할 수 있습니다. 이를 위해 코드 편집이 필요하지 않습니다.

개인 PHP 오류 로깅 활성화

이제 PHP 오류를 공개하지 않았으므로 추적할 수 있도록 로깅을 활성화하겠습니다. 이것은 다음 .htaccess 지시문을 도메인의 httpd.conf 파일 또는 루트(또는 모든 대상) 디렉토리에 있는 .htaccess 파일에 추가하여 수행됩니다.

# 포함 PHP 항목 php_flag 오류 log_errors on php_value error_log /home/path/public_html/domain/PHP_errors.log

이것이 작동하려면 PHP_errors.log 파일의 실제 위치와 일치하도록 마지막 줄의 경로를 편집해야 합니다. 물론 그와 함께 이 파일을 만들고 필요한 경우 755 또는 777 권한을 부여해야 합니다. 마지막으로 .htaccess 파일에 다음 코드의 마지막 줄을 추가하여 이 로그 파일을 보호해야 합니다.

# PHP 오류 로그에 대한 액세스 방지

이제 모든 것이 준비되었으므로 모든 것이 제대로 작동하는지 확인하고 몇 가지 PHP 오류를 발생시킵니다. 브라우저를 통해 액세스를 시도하여 로그 파일의 보안을 테스트할 수도 있습니다.

.htaccess를 사용한 고급 PHP 오류 처리

이제 이 주제에 대해 더 깊이 파고들어 추가 기능을 추가하고 다양한 구현을 살펴보겠습니다. 먼저 프로덕션 환경(예: 온라인, 활성 및 공개 웹 사이트 및 응용 프로그램)에 대한 PHP 오류 처리를 탐색한 다음 개발자 환경(예: 개발 중인 프로젝트, 테스트, 비공개 등)에 대한 오류 처리를 살펴보겠습니다.

PHP 오류 메시지 레벨 제어

.htaccess를 사용하면 실제 요구 사항에 맞는 오류 보고 수준을 사용자 지정할 수 있습니다. PHP 오류율을 제어하기 위한 일반적인 요새는 다음과 같습니다.

# PHP 오류 수준 설정을 위한 지시문 일반 보기 php_value error_reporting number

다음을 포함하여 "숫자"를 대체할 수 있는 몇 가지 공통 값이 있습니다.

  • 가장 완전한 오류 메시지(E_ALL에 해당) - 이를 위해 "32767" 값을 사용합니다.
  • 전체 오류 메시지- PHP 오류를 완전히 기록하려면 "8191" 값을 사용하십시오. 여기에는 더 이상 사용되지 않는 구문의 사용에 대한 런타임 알림(작동하지 않는 코드에 대한 경고)을 제외한 모든 기록이 포함됩니다. 다음 버전 PHP).
  • 젠드 오류 메시지- Zend 스크립팅 엔진에 의해 생성된 치명적 및 비치명적 컴파일 시간 경고를 모두 기록하려면 "192"를 사용하십시오.
  • 기본 오류 메시지- 런타임 알림을 기록합니다. 정상적인 프로그램 실행 중에도 발생할 수 있지만 오류를 표시할 수 있는 스크립트 실행 중에 어떤 일이 발생했음을 나타냅니다. 이렇게하려면 숫자 "8"을 사용하십시오.
  • 최소 오류 메시지- 치명적인 런타임 오류만 기록합니다. 메모리 할당 오류 등 스크립트 자체로는 복구할 수 없는 오류입니다. 이 경우 스크립트의 실행이 종료됩니다. 이렇게하려면 숫자 "1"을 사용하십시오.

물론 다른 값("숫자")을 사용할 수 있습니다. 미세 조정어떤 종류의 오류를 수정하려는지. 맨 아래에 이 문제에 대한 몇 가지 설명이 있습니다.

오류 레코드의 최대 파일 크기 설정

.htaccess를 사용하여 PHP 오류의 최대 크기를 정의할 수 있습니다. 이는 전체 파일이 아니라 기록된 각 오류의 크기를 제어하는 ​​것을 의미합니다. 구문은 다음과 같습니다.

# 최대 오류 크기 설정을 위한 일반 지시문 log_errors_max_len integer_number

여기서 "integer_number"는 기록된 각 오류 행의 최대 크기를 바이트 단위로 나타냅니다. 기본값은 "1024"(즉, 1킬로바이트)입니다. 이 제한을 제거하려면 값을 "0"으로 설정할 수 있습니다. 이 값은 표시되는 오류가 활성화된 경우(예: 개발 중)에도 적용됩니다.

반복되는 오류 로깅 비활성화

이미 오류 로그로 작업한 경우 이벤트 시간만 다른 유사한 항목이 많이 있음을 알 수 있습니다. htaccess 파일에 다음 줄을 추가하기만 하면 이 중복성을 제거할 수 있습니다.

# 반복되는 오류 로깅 비활성화 php_flag ignore_repeated_errors on php_flag ignore_repeated_source on

이러한 설정을 사용하면 다른 소스나 주소에서 발생하더라도 반복되는 오류가 기록되지 않습니다. 하나의 소스 또는 파일에서만 반복되는 오류를 비활성화하려면 마지막 줄을 주석 처리하거나 제거하면 됩니다. 반대로 이벤트 로그 파일에 모든 반복 오류가 포함되도록 하려면 다음에서 두 값을 모두 변경하십시오. ~에끄다.

모든 것을 통합 - 작업 환경

PHP 오류 기록 구성에 대한 세부 사항을 논의한 후 모든 오류 기록을 단일 .htaccess 파일로 수집해 보겠습니다. 이러한 설정은 작업 환경에 최적화되어 있습니다.

# обработка ошибок PHP для рабочего сервера php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /home/path/public_html/domain/PHP_errors. log php_value error_reporting -1 php_value log_errors_max_len 0 주문 허용, 거부 모두에서 거부 모두 만족

설명이 있는 코드를 좋은 스타일이라고 생각한다면 같은 코드이지만 주석이 있는 코드는 다음과 같습니다.

# 프로덕션 서버에 대한 PHP 오류 처리 # 시작 오류 표시 비활성화 php_flag display_startup_errors off # 다른 모든 오류 표시 비활성화 php_flag display_errors off # 비활성화 HTML 오류 markup php_flag html_errors off # 오류 로깅 활성화 php_flag log_errors on # 반복되는 오류 무시 활성화 php_flag ignore_repeated_errors off # 고유 소스의 오류 무시 비활성화 php_flag ignore_repeated_source off # php 메모리 누수 로깅 활성화 php_flag report_memleaks on # 대부분 저장 최근 실수 via php_errormsg php_flag track_errors on # 형식 지정 오류 참조 링크 비활성화 php_value docref_root 0 # 형식 지정 오류 참조 링크 비활성화 php_value docref_ext 0 # PHP 오류 로그 파일 경로 지정 php_value error_log /home/path/public_html/domain/PHP_errors.log # 항목 지정 모든 php errors php_value error_reporting -1 # 최대 오류 문자열 길이 비활성화 php_value log_errors_max_len 0 # 공개 액세스로부터 오류 로그 파일 보호 주문 허용, 거부 모두에서 거부 모두 만족

위의 전략은 프로덕션 환경의 공용 서버에 이상적입니다. 모든 오류는 눈에 띄지 않게 숨겨져 있으며 관리자와 프로그래머를 위해 신중하게 수집됩니다. 물론 위의 지시문을 필요에 맞게 완벽하게 사용자 정의할 수 있습니다. 이제 개발 환경에 대한 오류 처리 전략을 살펴보겠습니다.

모든 것을 통합 - 개발 환경

프로그램을 개발하거나 디버깅할 때 브라우저에서 바로 PHP 오류를 실시간으로 추적하는 것이 더 편리합니다. 개발 환경에 적합한 설정이 있는 .htaccess의 예는 다음과 같습니다.

# работа с ошибками PHP для серверов разработчиков php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /home/path/public_html/domain/PHP_errors .log php_value error_reporting -1 php_value log_errors_max_len 0 주문 허용, 거부 모두에서 거부 모두 만족

우리는 각 라인을 설명하지 않을 것입니다 - 당신은 해당 설명을 조금 더 높은 곳에서 볼 수 있습니다.

힌트

PHP 메소드를 사용하여 서버의 로그 파일에 대한 절대 경로를 찾으려면(php_value error_log 지시문에 대해)

에코 디렉토리 이름(__FILE__);

.htaccess의 예

php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log C:ServerdatahtdocsPHP_errors.log php_value error_reporting -1 php_value log_errors_max_len 0 주문 허용, 거부 모두에서 거부 모두 만족

작동하지 않습니다

이 방법은 PHP가 CGI로 작동하는 호스팅에는 적용되지 않습니다.(가능한 해결책은 다음 기사에서 보여질 것입니다).

모든 PHP 오류를 표시하려면 -1 및 ~0

지시문에서 php_value error_reporting모든 오류를 표시하려면 다음을 지정할 수 있습니다. -1 또는 ~0 . 저것들. 라인은 다음과 같습니다.

php_value error_reporting -1 php_value error_reporting ~0

또한 더 정확한 것으로 간주되는 두 번째 방법입니다. ~0 .

사전 정의된 상수 및 비트 단위 error_reporting 작업

  • 미리 정의된 상수
  • 비트 연산자

예를 들어 ONLY를 쓰고 싶다면 다음 오류 E_ERROR(값 1), E_WARNING(값 2), E_CORE_ERROR(값 16), 해당 숫자 값을 얻으려면 이러한 값을 이진수로 변환하고 해당 비트 연산을 수행한 다음 결과 이진수십진수로 변환합니다. 그러나이 작업은 단순화 될 수 있습니다. 10 진수 값을 추가하기 만하면됩니다. 저것들. 우리의 경우 1+2+16=19입니다.

php_value error_reporting 19

E_ERROR, E_WARNING 및 E_CORE_ERROR 오류를 표시합니다.

Hostland 호스팅에서 로그 파일에 대한 절대 경로의 예(php_value error_log 지시문용)

/home/host900456/website/blogs/htdocs/www/PHP_errors.log

대신에 호스트900456계정을 입력해야 합니다.

대신에 웹사이트도메인을 지정해야 합니다.

그건 그렇고, 바로이 사이트를 실행하는 좋은 호스팅. 추천!

이 기사에서는 코드 해석 오류(E_ERROR, E_PARSE, E_WARNING 등)를 포함한 모든 유형의 오류를 처리하기 위해 PHP(5.3.x 관련)에서 사용할 수 있는 기능에 대해 설명합니다. 이 처리는 이러한 문제가 발생한 경우 페이지 표시를 관리하는 데 도움이 됩니다. 기사에는 즉시 사용할 수 있도록 많은 설명과 작업 예제(아키텍처)가 포함되어 있습니다. 소프트웨어 제품. 결국, 글쎄, 그들은 사이트를 약간 망가 뜨리고, 글쎄, 이것을 검색 엔진에 4xx 또는 5xx라는 제목으로 알리고 사용자를 즐겁게해야합니다. 흰색 화면(또는 해커의 경우 신성한 정보가 있는 화면보다 나쁨) 200 Ok 응답.

이 주제를 쓰기 위한 아이디어는 제가 용감하게 2가지 질문을 했을 때 생겨났습니다.

  • 에 대한 질문
  • 에 대한 질문
내 카르마와 즐겨찾기에 추가한 결과, PHP habra 커뮤니티에 흥미로운 것으로 판명되었음을 깨달았습니다. 이러한 이유로 나는 사람들과 검색 엔진이 필요한 정보를 더 쉽고 포괄적으로 찾을 수 있도록 이러한 문제에 대한 솔루션을 기사 형식으로 발행하기로 결정했습니다.

관심이 있으시면 세부 사항이 아래에 있습니다 ...

사용 이유

사용자/검색 엔진은 서버에 문제가 있음을 명확하게 대답해야 합니다. 특정 풍수를 사용하지 않으면 달성하기가 매우 어렵고 때로는 불가능합니다. 여기에서 나는이 모든 것에 대해 밝힙니다. 일주일 전에 무엇을해야할지 몰랐고 아마도 많은 초보자도 낙담 할 것이므로 메모를 남깁니다.

기능 설명

이 기능은 오류를 처리하고 출력을 제어하기 위해 PHP에서 사용할 수 있습니다. 다음은 장점과 단점에 대한 설명입니다. 나는 문서를 제공하지 않을 것이며, 그 페이지를 참조하고 내 의견을 설명할 것입니다. 제공되는 모든 것은 극히 일부에 불과하며 기사 끝부분에 문서의 관련 섹션에 대한 링크를 제공할 것입니다. 그래서 만나자:

- 중요하지 않은 오류 제어:메모, 경고, 사용자 정의 오류. 일반적으로 해석이 비정상적으로 끝나지 않는 모든 것.
set_error_handler - 세트 사용자 정의오류 처리기.
이러한 모든 오류를 로그에 기록하는 데 필요합니다. 설정되어 있지 않으면 로그에 기록되지 않지만 어떤 전투 상황에서 주석과 경고를 호출할 수 있는지 항상 알고 싶습니다. 즉, 사용자가 자동으로 제품을 테스트할 수 있도록 하고 사용자는 그것을 알아차리지도 못합니다.
이 기능이 설정되어 있지 않으면 PHP는 화면에 데이터를 표시하려고만 하고, 이 기능이 제공되지 않으면 이러한 유형의 오류로 인한 생명의 흔적이 전혀 없습니다.

- 통제, 예외: E_ERROR 유형의 오류입니다.
set_exception_handler - 사용자 정의 예외 처리기를 설정합니다.
글쎄, 나는 그것이 왜 발명되었는지 전혀 알지 못한다. 아래에 설명 된 것이 있고 Exception 유형의 오류를 처리하는 것뿐입니다. 그래서 나는 그것이 단순히 존재한다고 보고합니다. 그녀는 가로채다 치명적 오류"예외"를 사용하여 무언가를 할 수 있습니다. 어쨌든 스크립트는 끝납니다. 기본적으로 그녀의 작업은 개인적으로 충분합니다(로그에 쓰고 표시하려고 함). 나는 그것을 재정의하지 않을 것입니다. 그렇지 않으면 발생한 예외에 대해 로그에 기록해야 할 것입니다.

- 출력 제어 기능:여기에서는 다양한 이유로 알아야 할 3가지 기능에 대해 설명합니다. 예를 들어 헤더 출력 문제의 경우. 우리의 경우 오류 헤더를 표시해야 합니다.

자귀
오류가 발생할 수 있는 코드가 먼저 실행되거나 그 이전에 실행되는 코드가 있는 파일이 있으며, 이 파일과 그 이전의 모든 파일은 오류가 발생하지 않아 100% 디버그됩니다. 다음은 위 함수의 모든 등록이 통과할 때까지 오류 없이 더 쉬울 수 있는 조건입니다. 이 파일은 컴플렉스에서 이러한 오류 제어 방법을 설명합니다. 버퍼가 제어되고 오류가 있으면 버퍼를 재설정하고 오류를 표시합니다.
주석이 있는 코드
코드를 테스트하지 않았다는 점을 추가하겠습니다. 이것은 코드에 있는 내용을 단순화한 다이어그램이므로 주석이 허용됩니다.

출시 시 대부분의 기능 사용 가능 AI-BOLIT 스캐너모드에서 명령줄. SSH 액세스가 있고 호스팅이 소비되는 프로세서 리소스를 심각하게 제한하지 않는 경우 Windows/Unix/Mac OS X 및 호스팅에서 직접 수행할 수 있습니다.

스캐너를 실행하려면 PHP 5.3 이상의 콘솔 버전이 필요합니다. 버전 5.2에는 "분석 오류: 구문 오류, 예기치 않은 T_STRING, 예상 T_OLD_FUNCTION 또는 T_FUNCTION 또는 T_VAR 또는 ")" in /home/XXX/ai-bolit.php on line..." 오류가 있습니다. 확인하다 현재 버전 PHP -v 명령

AI-BOLIT 스캐너 명령줄 매개변수 참조

도움말 표시

PHP ai-bolit.php --help

PHP ai-bolit.php --skip=jpg,png,gif,jpeg,JPG,PNG,GIF,bmp,xml,zip,rar,css,avi,mov

특정 확장만 검사

PHP ai-bolit.php --scan=php,php5,pht,phtml,pl,cgi,htaccess,의심되는,tpl

보안 전문가에게 보낼 검역소 파일을 준비합니다. 아카이브 AI-QUARANTINE-XXXX.zip이 비밀번호로 생성됩니다.

PHP ai-bolit.php --격리

"편집증" 모드에서 스캐너 실행(가장 자세한 보고서를 얻기 위해 권장됨)

PHP ai-bolit.php --mode=2

PHP ai-bolit.php --mode=1

하나의 "pms.db" 파일에서 악성 코드 확인

PHP ai-bolit.php-jpms.db

512Mb 메모리 크기로 스캐너 실행

PHP ai-bolit.php --memory=512M

스캔한 파일의 최대 크기를 900Kb로 설정

PHP ai-bolit.php --크기=900K

스캔할 때 파일 사이에 500ms 일시 중지(부하를 줄이기 위해)

PHP ai-bolit.php --delay=500

이메일로 스캔 보고서 보내기 [이메일 보호됨]

PHP ai-bolit.php [이메일 보호됨]

/home/scanned/report_site1.html에서 보고서 만들기

PHP ai-bolit.php --report=/home/scanned/report_site1.html

/home/s/site1/public_html/ 디렉토리 스캔(--report=report_file 옵션이 설정되지 않은 경우 보고서는 기본적으로 이 디렉토리에 생성됨)

PHP ai-bolit.php --path=/home/s/site1/public_html/

스캔이 완료되면 명령을 실행합니다.

PHP ai-bolit.php --cmd="~/postprocess.sh"

site1.txt라는 일반 텍스트 보고서 가져오기

PHP ai-bolit.php-lsite1.txt

예를 들어 다음과 같이 통화를 결합할 수 있습니다.

PHP ai-bolit.php --size=300K --path=/home/s/site1/public_html/ --mode=2 --scan=php,phtml,pht,php5,pl,cgi, 의심됨

AI-BOLIT 스캐너의 호출을 다른 유닉스 명령과 결합하여 예를 들어 사이트의 일괄 검사를 수행할 수 있습니다. 다음은 계정 내에서 호스팅되는 여러 사이트를 확인하는 예입니다. 예를 들어 사이트가 /var/www/user1/data/www 디렉토리에 있는 경우 스캐너를 시작하는 명령은 다음과 같습니다.

/var/www/user1/data/www -maxdepth 1 -type d -exec php ai-bolit.php 찾기 --path=() --mode=2 \;

--report 옵션을 추가하여 스캔 보고서가 생성될 디렉토리를 제어할 수 있습니다.

php ai-bolit.php 매개변수 목록 ... --eng

보고서 인터페이스를 영어로 전환합니다. 이 매개변수는 마지막에 와야 합니다.

다른 서비스 및 호스팅 패널과의 통합

PHP ai-bolit.php --json_report=/경로/파일.json

json 형식으로 보고서 생성

PHP ai-bolit.php --progress=/경로/프로그레스.json

검사 상태를 json 형식의 파일에 저장합니다. 이 파일 json 형식의 구조화된 데이터가 포함됩니다. 현재 스캔 파일, 스캔한 파일 수, 스캔할 파일 수, 스캔 비율, 스캔이 완료될 때까지의 시간. 이 메커니즘을 사용하여 패널에서 확인 중인 파일에 대한 데이터와 진행률 표시줄을 표시할 수 있습니다. 스캔이 완료되면 파일이 자동으로 삭제됩니다.

PHP ai-bolit.php --handler=/경로/hander.php

외부 이벤트 핸들러. 스캔/스캔 진행/스캔 오류의 시작/중단에 대해 고유한 핸들러를 추가할 수 있습니다. 예제 파일은 도구/handler.php 디렉토리의 스캐너 아카이브에서 찾을 수 있습니다. 예를 들어, 스캔이 완료되면 보고서 파일로 작업을 수행할 수 있습니다(우편으로 보내기, 아카이브에 압축 등).

이 문서에서는 Analytics Reporting API 버전 4에서 승인을 설정하는 방법을 배웁니다.

메모.이들의 목적 퀵 가이드– 사용자가 을(를) 실행하도록 돕습니다. 이러한 라이브러리는 지속적으로 업데이트되므로 최신 변경 사항여기에 없을 수도 있습니다. 필요한 정보를 찾지 못했다면 을(를) 확인하십시오.

1. API 활성화

Analytics Reporting API 버전 4 사용을 시작하기 전에 를 사용하여 Google API 콘솔에서 프로젝트를 만들고 API를 활성화하고 자격 증명을 등록하십시오.

자격 증명 생성

메모.요청을 클릭 새 개인 키 생성. 매개변수의 경우 키 유형값을 선택 JSON그런 다음 생성된 키를 client_secrets.json 으로 저장합니다. 나중에 필요할 것입니다.
  1. 열려 있는 . 필요한 경우 프로젝트를 선택합니다.
  2. 딸깍 하는 소리 서비스 계정 만들기.
  3. 계정 이름을 입력하고 선택 새 개인 키 생성. 그런 다음 버튼을 누르십시오. 구하다.

시스템은 컴퓨터에 저장될 새로운 키 쌍(공개 및 비공개)을 생성합니다. 이 사본은 유일한 사본이며 유지 관리하는 것은 귀하의 책임입니다.

Google 애널리틱스에 서비스 계정 추가

새 서비스 계정에는 주소가 있습니다. 이메일이 유형의:

[이메일 보호됨]

이 URL을 사용하여 API를 통해 액세스하려는 Google 애널리틱스 보기에 사용자를 추가합니다. 이 가이드의 작업을 수행하려면 읽기 및 분석 권한만 있으면 됩니다.

2. 클라이언트 라이브러리 설치

작곡가에는 google/apiclient:^2.0이 필요합니다.

3. 예제 사용자 정의

이 예제의 코드로 HelloAnalytics.php 파일을 생성해야 합니다.

  • 아래 소스 코드를 복사하거나 붙여넣은 다음 HelloAnalytics.php 파일에 추가합니다.
  • 다운로드한 service-account-credentials.json 키를 예제 코드와 동일한 디렉터리로 이동합니다.
  • VIEW_ID 값을 변경합니다. 계정 탐색기 도구를 사용하여 이 설정을 찾으십시오.

HelloAnalytics.php

setApplicationName("안녕하세요 분석 보고"); $client->setAuthConfig($KEY_FILE_LOCATION); $client->setScopes(["https://www.googleapis.com/auth/analytics.readonly"]); $analytics = 새로운 Google_Service_AnalyticsReporting($client); $analytics 반환; ) /** * Analytics Reporting API V4를 쿼리합니다. * * @param service 승인된 Analytics Reporting API V4 서비스 개체입니다. * @return Analytics 보고 API V4 응답입니다. */ function getReport($analytics) ( // 보기 ID로 바꿉니다(예: XXXX. $VIEW_ID = " "; // DateRange 객체를 생성합니다. $dateRange = new Google_Service_AnalyticsReporting_DateRange(); $dateRange->setStartDate("7daysAgo"); $dateRange->setEndDate("today"); // Metrics 객체를 생성합니다. $sessions = new Google_Service_AnalyticsReporting_Metric(); $sessions->setExpression("ga:sessions"); $sessions->setAlias("sessions"); // ReportRequest 객체 생성 $request = new Google_Service_AnalyticsReporting_ReportRequest(); $request->setViewId($ VIEW_ID), $request->setDateRanges($dateRange), $request->setMetrics(array($sessions)), $body = new Google_Service_AnalyticsReporting_GetReportsRequest(), $body->setReportRequests(array($request)), $analytics 반환 ->reports->batchGet($body); ) /** * Analytics Reporting API V4 응답을 구문 분석하고 인쇄합니다. * * @param Analytics Reporting API V4 응답입니다. */ function printResults($reports) ( for ($reportIndex) = 0;$보고서 인덱스< count($reports); $reportIndex++) { $report = $reports[ $reportIndex ]; $header = $report->getColumnHeader(); $dimensionHeaders = $header->getDimensions(); $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); $rows = $report->getData()->getRows(); ($rowIndex = 0; $rowIndex< count($rows); $rowIndex++) { $row = $rows[ $rowIndex ]; $dimensions = $row->getDimensions(); $metrics = $row->getMetrics(); ($i = 0; $i에 대해< count($dimensionHeaders) && $i < count($dimensions); $i++) { print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); } for ($j = 0; $j < count($metrics); $j++) { $values = $metrics[$j]->getValues(); ($k = 0; $k에 대해< count($values); $k++) { $entry = $metricHeaders[$k]; print($entry->getName() . ": " . $값[$k] . "\N"); ) ) ) ) )

4. 예제 실행

다음 코드를 사용하여 예제를 실행합니다.

HelloAnalytics.php

모든 단계를 완료하면 화면에 지난 7일 동안 선택한 보기의 세션 수가 표시됩니다.

메모. 예제를 성공적으로 실행하려면 최소한 하나의 리소스와 하나의 Google Analytics 보기가 필요합니다.