저는 PHP 디버깅과 성능 모니터링을 위해 제가 작성한 작은 플러그인을 오랫동안 사용해왔는데 꽤 좋다고 생각합니다. 그런데 방금 검색을 하다가 Xhprof라는 것을 발견했습니다. 소개를 잠깐 살펴보니 제 작은 플러그인과 비슷한 것 같아서 Xhprof의 응용 프로그램을 정리해 볼까 합니다. 플러그인.
공식 홈페이지
<code><span>http:</span>//www<span>.xhprof</span><span>.com</span>/</code>
설치
<code>wget http:<span>//pecl.php.net/get/xhprof-0.9.4.tgz</span> tar zxf xhprof<span>-</span><span>0.9</span><span>.4</span><span>.</span>tgz cd xhprof<span>-</span><span>0.9</span><span>.4</span>/extension<span>/</span> phpize <span>.</span>/configure <span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/<span>local</span>/php/bin/php<span>-config</span> make make install</code>
PHP.ini 구성
<code><span># vi /usr/local/php/etc/php.ini</span></code>
<code>[xhprof] extension=xhprof<span>.so</span><span>;</span> xhprof<span>.output</span>_dir=/tmp/xhprof</code>
애플리케이션 1
<code><span><span><?php</span> xhprof_enable(); 【PHP业务代码】 <span>$data</span> = xhprof_disable(); <span>// xhprof_lib在下载的包里存在这个目录,记得将目录包含到运行的php代码中</span><span>include_once</span><span>"xhprof_lib/utils/xhprof_lib.php"</span>; <span>include_once</span><span>"xhprof_lib/utils/xhprof_runs.php"</span>; <span>$objXhprofRun</span> = <span>new</span> XHProfRuns_Default(); <span>// 第一个参数j是xhprof_disable()函数返回的运行信息</span><span>// 第二个参数是自定义的命名空间字符串(任意字符串),</span><span>// 返回运行ID,用这个ID查看相关的运行结果</span><span>$run_id</span> = <span>$objXhprofRun</span>->save_run(<span>$data</span>, <span>"xhprof"</span>); var_dump(<span>$run_id</span>);</span></span></code>
애플리케이션 2
<code><span><span><?php</span><span>//cpu:XHPROF_FLAGS_CPU 内存:XHPROF_FLAGS_MEMORY,这两个都是整形常量,可以相加</span> xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 【PHP业务代码】 <span>$data</span> = xhprof_disable(); </span></code>
위에서는 Xhprof 애플리케이션을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.