XHProf 설치 및 구성 (우분투)


19

문제

XHProf를 사용하려고하는데 매번 실행될 때마다 끔찍한 PHP 오류가 발생합니다.

Warning: Invalid argument supplied for foreach() in xhprof_compute_inclusive_times() (line 1670 of /var/www/drupal/sites/all/modules/XHProf/xhprof.inc).
Warning: Invalid argument supplied for foreach() in xhprof_compute_flat_info() (line 1644 of /var/www/drupal/sites/all/modules/XHProf/xhprof.inc).
Warning: Invalid argument supplied for foreach() in theme_xhprof_overall_summary() (line 367 of /var/www/drupal/sites/all/modules/XHProf/xhprof.module).

임시 폴더는 존재하지 않지만 내 폴더는 없기 때문에 문제가 해결 되었습니다 .

설정 서버 측

Drupal 7에서 새로운 Ubuntu Server 13.04를 실행하고 있습니다.

여기pear 의 지침에 따라 xhprof를 설치 하십시오 . 또한 수동으로 생성 한 php.ini에 임시 디렉토리를 추가했습니다.

extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof"

드루팔 셋업

디벨이 설치되어 있고 XHProf 모듈도 설치했습니다.

에서 admin/config/development/xhprof모든 페이지 뷰 및 drush 요청을 프로파일 링 할 수있었습니다.

xhprof 링크를 따라 가면 위의 오류가 발생합니다.

여기에 이미지 설명을 입력하십시오

답변:


35

배트맨 정말 실망 스러웠습니다. 다음은 xhprof가 작동하도록하는 지침입니다. (참고 : Linux를 처음 접했습니다. 사용하는 권한이 안전한지 또는 더 나은 방법이 있는지 확실하지 않습니다. 테스트 환경에서만이 작업을 수행합니다.)

중요 : 해석 방법에 대해서는 아무 것도 알려주지 않습니다. 어떻게 해야할지 모르겠다. 행복하다.

XHProf 작동시키기

1. 어떤 운영 체제를 실행하고 있습니까?

맥이나 리눅스?

있을 수있다.

윈도우?

아마 아닙니다. Windows에서 xhprof를 실행하려면 컴파일 된 dll이 있어야합니다. 이 스레드 에는 링크가 있지만 XAMPP에서 사용하려고 할 때 항상 호환성 문제가 발생했습니다.

다른 버전의 Apache로 컴파일 된 것 같습니다.

2. 우분투에서 작업하기

Mac에서 가능합니다. 다음은 유용한 두 가지 링크입니다.

http://www.lullabot.com/blog/article/installing-xhprof-mamp-and-php-52-mac-os-106-snow-leopard http://www.midwesternmac.com/blogs/jeff-geerling / getting-xhprof- 작업-웰

그러나 나는 그것을하지 않았다. 최신 버전의 Ubuntu Server가 작동한다고 생각하지만 Ubuntu Server 13.04에서 작동하도록했습니다.

VirtualBox에서 서버를 설정했습니다. VirtualBox 는 무료이지만 설정 방법을 배우려면 약간의 시간이 걸릴 수 있습니다.

3. XHProf 설치

나는 우리가 완전히 기능하는 Ubuntu Server를 가지고 있다고 가정합니다.

먼저 배를 설치해야합니다. 이것을 사용하여 XHProf를 설치합니다.

sudo apt-get install pear

우리는 이것을 필요로하는 phpdev로 추적합니다.

sudo apt-get install php5-dev

이러한 명령이 작동하지 않고 잘못 입력 한 경우 다음과 같이 진행하십시오.

sudo pecl install -f xhprof

Ubuntu는 누락 된 내용을 알려주고 설치하라는 메시지를 표시합니다. 모든 의존성을 가지고 있으면 xhprof를 설치하십시오.

xhprof 설치시 오류가 발생할 수 있습니다. 베타를 다운로드하려고하면 실패합니다. 이 경우 다음을 시도하십시오.

sudo pecl install -f xhprof-beta

xhprof가 설치 되었으면합니다.

이제 구성해야합니다. 에있는 php.ini를 열고 /etc/php5/apache2/php.ini 확장 섹션 아래에 다음 두 줄을 추가하십시오.

extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof"

두 번째 줄은 출력 디렉토리를 설정합니다. 이 폴더가 존재하지 않으면 폴더를 생성해야합니다.

sudo service apache2 restart

4. XHProf가 실행 중인지 확인

이제 작동하는지 확인해야합니다.

시험 1 :

들어가다 php -m

목록에 xhprof가 있으면 계속 사용하십시오. 그렇지 않은 경우 걱정하지 말고 작동하는지 확인하십시오.

webroot로 이동하여 다음 /var/www/만 사용하여 PHP 파일을 만듭니다.

phpinfo();

phpinfo.php로 저장하십시오. 브라우저에서 이것을 열면 PHP 정보가 나타납니다. xhprof를 검색하고 이것이 표시되면 실행 중입니다.

여기에 이미지 설명을 입력하십시오

5. Drupal로 작업하기

Drupal 모듈에서 작동하지 못했습니다. 대신 devel 모듈을 사용하는 방법을 알려 드리겠습니다.

먼저 여기 에서 빌린 구성이 있습니다 . 나는이 부분을 실제로 따르지 않았지만 선물 말과 그 모든 것에서 효과적입니다.

다음 명령을 사용하여 새 구성 파일을 작성하십시오.

sudo nano /etc/apache2/conf.d/xhprof.conf

다음 코드를 삽입하십시오.

alias /xhprof_html "/usr/share/php/xhprof_html/"

그런 다음 xhprof_html 폴더에 대한 심볼릭 링크를 만들어야 할 수도 있습니다. 따라서이 경우를 대비하여 설정하십시오.

ln -s / usr / share / php / xhprof_html / var / www / xhprof_html

그러면 기존 xhprof 파일을 가리키는 폴더가 webroot에 생성됩니다. 그런 다음 브라우저에서 http://mywebsitehere.com/xhprof 를 열어 모든 실행을 볼 수 있습니다 .

그런 다음 아파치를 다시 시작하십시오. 이제 약간의 설정을 할 차례입니다. 개발 설정으로 이동하여 xhprof를 활성화하고 다음을 설정하십시오.

xhprof directory = /usr/share/php

XHProf URL = /xhprof_html

이제 각 페이지 하단에 xhprof에 대한 작은 링크가 표시됩니다.

여기에 이미지 설명을 입력하십시오

클릭하면 다음과 같은 페이지로 이동합니다. 끝났습니다. 축하합니다!

여기에 이미지 설명을 입력하십시오

그것이 작동하지 않고 실행 오류가 발생하면 Drupal이 이전에 설정 한 tmp 폴더에 쓸 수있는 권한이 없기 때문일 수 있습니다.

sudo chown -R www-data /var/tmp/xhprof

그리고 희망적으로 작동합니다. 끝났습니다. 후라!

그래프 기능을 원하지 않는 한. 고맙게도 다음과 같이 쉽습니다.

sudo apt-get install graphviz
sudo service apache2 restart

이제 그래프 기능이 있어야합니다. 잘하면 그것은 도움이됩니다!


와우, 인상적인 답변. 그만한 가치가 있다면, 사용 권한이 제정신처럼 보입니다.
Letharion

응, 작동하는데 심각한 고통이 있었어 잘하면 그것은 다른 누군가를 도울 것입니다 (그리고 내가 잊어 버린 두 달 안에).
Dominic Woodman

큰 대답은 고통을 덜어주기 위해 완벽하게 작용합니다. :-)
JurgenR

/etc/apache2/conf.d디렉토리 가 없습니다 . 내가 만든 sudo nano /etc/apache2/conf-enabled/xhprof.confa2enconf xhprof대신
milkovsky

통과 해 주셔서 감사합니다. Ubuntu 14.04에서는 PEAR이 아닌 Ubuntu 리포지토리에서 설치 php5enmod xhprof했으며 conf.d 디렉토리에서 mods-available 디렉토리 xhprof.ini 파일로 우선 순위 심볼릭 링크를 만들려면 실행해야한다는 것을 알았습니다. xhprof가 활성화되어 있는지 확인하는 또 다른 방법은 php5-fpm -i | grep xhprofphp5-fpm을 확인중인 SAPI로 대체 하여 실행하는 것 입니다.
mesch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.