Cet article présente principalement l'introduction de l'installation de xhprof pour l'analyse des performances dans PHP 7.1. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Installation d'extensions.
La version de l'extension xhprof s'obtient depuis https://github.com/longxinH/xhprof (une bibliothèque tierce, la version officielle ne supporte pas php7)
Téléchargez et compilez le xhprof extension
Opérater dans le répertoire html du web :
git clone https://github.com/longxinH/xhprof
Compiler l'extension
cd xhprof/extension/phpize ./configure makemake install
Modifier la configuration de php.ini
[xhprof] extension=xhprof.so; xhprof.output_dir=/tmp/xhprof
où xhprof.output_dir est le répertoire de sortie de xhprof Un run_id.project_name.xhprof sera généré à chaque fois. la méthode save_run de xhprof est exécutée. Peu importe où se trouve ce répertoire. Notez que les permissions de ce chemin doivent être en lecture et en écriture ! ! Sinon, le fichier ne peut pas être généré avec succès
Redémarrer php-fpm
sudo service php7.1-fpm restart
Ajouter un code de test
<?php xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);// 要检查性能的代码 $xhprof_data = xhprof_disable(); include_once '/var/www/html/xhprof/xhprof_lib/utils/xhprof_lib.php'; include_once '/var/www/html/xhprof/xhprof_lib/utils/xhprof_runs.php'; $xhprof_runs = new \XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, 'your_project');
Les deux fichiers xhprof_lib.php et xhprof_runs.php doivent être introduits dans le code de test
Voir le généré rapport
Besoin d'accéder à : xhprof/xhprof_html/index.php vue du fichier :
http://localhost/xhprof/xhprof_html/index.php?run=5b35d3dfa8c29&source=your_project
Le paramètre après exécution est $run_id, et le paramètre source est Le nom de la configuration de votre_projet
Si le graphique n'est pas généré correctement, vous devez installer le plug-in :
sudo apt-get install graphviz
Code de démonstration réel
<?php function test1(){ for($i=0;$i<10;$i++){ echo 'aaa'.$i.'<br>'; } }// start profilingxhprof_enable(); test1(); // stop profiler $xhprof_data = xhprof_disable(); // display raw xhprof data for the profiler runprint_r($xhprof_data); include_once "xhprof_lib.php";include_once "xhprof_runs.php"; // save raw data for this profiler run using default // implementation of iXHProfRuns. $xhprof_runs = new XHProfRuns_Default(); // save the run under a namespace "xhprof_test" $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");echo "---------------\n". "Assuming you have set up the http based UI for \n". "XHProf at some address, you can view run at \n". "http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_test\n". "---------------\n";
Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
La différence et l'installation de LAMP, LNMP et LNAMP
Utiliser Wamp pour créer un local Php environnement de développement et méthode de débogage HBuilder
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!