Ya Tuhan, Batman. Itu sangat membuat frustrasi. Berikut panduan untuk menjalankan xhprof. (Catatan: Saya sangat baru di Linux. Saya tidak yakin apakah izin yang saya gunakan aman, atau apakah ada cara yang lebih baik untuk melakukannya. Saya hanya akan melakukan ini di lingkungan pengujian.)
PENTING: Tidak akan memberi tahu Anda apa pun tentang cara menafsirkannya. Saya tidak tahu caranya, saya senang itu berhasil.
Membuat XHProf Bekerja
1. Sistem operasi apa yang Anda jalankan?
Mac atau Linux?
Itu mungkin.
Windows?
Mungkin tidak. Untuk menjalankan xhprof di windows Anda harus memiliki dll yang dikompilasi. Ada tautan ke salah satu di utas ini , tetapi saya selalu memiliki masalah kompatibilitas dengannya ketika saya mencoba menggunakannya di XAMPP.
Saya pikir itu dikompilasi dengan versi Apache yang berbeda.
2. Cara membuatnya bekerja di Ubuntu
Itu mungkin di Mac. Berikut adalah dua tautan bermanfaat:
http://www.lullabot.com/blog/article/installing-xhprof-mamp-and-php-52-mac-os-106-snow-leopard
http://www.midwesternmac.com/blogs/jeff-geerling / mendapatkan-xhprof-berfungsi dengan baik
Tapi saya belum melakukannya. Saya berhasil membuatnya bekerja di Ubuntu Server 13.04, meskipun saya pikir versi terbaru dari Ubuntu Server akan berfungsi.
Saya mengatur server saya di VirtualBox. VirtualBox gratis tetapi mungkin perlu sedikit waktu untuk mempelajari cara mengaturnya.
3. Menginstal XHProf
Saya akan menganggap kita memiliki Ubuntu Server yang berfungsi penuh.
Pertama kita perlu menginstal pir. Kami akan menggunakan ini untuk menginstal XHProf.
sudo apt-get install pear
Kami menindaklanjutinya dengan phpdev yang juga diperlukan.
sudo apt-get install php5-dev
Jika perintah ini tidak berfungsi dan saya salah, langsung saja:
sudo pecl install -f xhprof
Ubuntu akan memberi tahu Anda apa yang Anda lewatkan dan memberi Anda prompt untuk menginstalnya. Setelah Anda mendapatkan semua dependensi, instal xhprof.
Anda mungkin mendapatkan kesalahan saat menginstal xhprof, itu akan mencoba mengunduh versi beta dan gagal. Dalam hal ini coba:
sudo pecl install -f xhprof-beta
Semoga xhprof sekarang diinstal.
Sekarang kita perlu mengkonfigurasinya. Buka php.ini Anda yang ada di /etc/php5/apache2/php.ini
dan tambahkan dua baris berikut di bawah bagian ekstensi:
extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof"
Baris kedua mengatur direktori keluaran. Jika folder ini tidak ada, Anda harus membuatnya. Ketika Anda telah melakukannya, gunakan apache reboot
sudo service apache2 restart
4. Memeriksa apakah XHProf sedang berjalan
Sekarang kita perlu memeriksa apakah itu berhasil.
Tes 1:
Memasukkan php -m
Jika Anda melihat xhprof dalam daftar, Anda dapat melakukannya. Jika tidak, jangan khawatir, coba ini sebagai gantinya untuk memeriksa apakah itu berfungsi:
Buka webroot Anda /var/www/
dan buat file php hanya dengan:
phpinfo();
Simpan sebagai phpinfo.php. Buka ini di browser Anda dan Anda akan melihat informasi PHP. Cari xhprof dan jika Anda melihat ini maka berjalan.
5. Cara membuatnya bekerja dengan Drupal
Saya tidak bisa membuatnya bekerja dengan modul Drupal. Jadi alih-alih saya akan memberi tahu Anda cara membuatnya bekerja dengan modul devel.
Pertama beberapa konfigurasi yang saya pinjam dari sini . Saya tidak benar-benar mengikuti bagian ini, tetapi itu berfungsi sebagai kuda hadiah dan sebagainya.
Buat file konfigurasi baru dengan perintah berikut:
sudo nano /etc/apache2/conf.d/xhprof.conf
dan masukkan kode berikut.
alias /xhprof_html "/usr/share/php/xhprof_html/"
Maka kita mungkin perlu membuat symlink ke folder xhprof_html kita. Jadi kalau-kalau set ini:
ln -s / usr / share / php / xhprof_html / var / www / xhprof_html
Ini akan membuat folder di webroot Anda yang menunjuk ke file xhprof yang ada. Kemudian di browser Anda, Anda dapat membuka http://mywebsitehere.com/xhprof untuk melihat semua proses yang Anda lakukan.
Kemudian restart apache. Sekarang saatnya untuk konfigurasi devel kecil. Buka pengaturan devel, aktifkan xhprof dan atur:
xhprof directory = /usr/share/php
XHProf URL = /xhprof_html
Sekarang di bagian bawah setiap halaman Anda akan melihat tautan kecil ke xhprof.
Dan mengklik itu akan membawa Anda ke halaman yang terlihat seperti ini. Kamu sudah selesai. Selamat!
Jika itu tidak berhasil dan Anda menjalankan kesalahan, itu mungkin karena Drupal tidak memiliki izin untuk menulis ke folder tmp yang kita atur sebelumnya, jadi masukkan:
sudo chown -R www-data /var/tmp/xhprof
Dan semoga itu berhasil. Dilakukan. Hoorah!
Kecuali Anda ingin fungsi grafik. Untungnya itu semudah:
sudo apt-get install graphviz
sudo service apache2 restart
Dan sekarang Anda harus memiliki fungsi grafik. Semoga bermanfaat!
/etc/apache2/conf.d
direktori. Saya membuatsudo nano /etc/apache2/conf-enabled/xhprof.conf
dana2enconf xhprof
sebagai gantinyaphp5enmod xhprof
untuk membuat symlink prioritas dari direktori conf.d ke file direktori xhprof.ini direktori mod-tersedia. Cara lain untuk memeriksa apakah xhprof diaktifkan adalah menjalankanphp5-fpm -i | grep xhprof
, mengganti php5-fpm dengan SAPI apa pun yang Anda periksa.