Добрий бог Бетмен. Це було неймовірно розчаровує. Ось посібник із налагодження роботи xhprof. (Примітка. Я дуже новачок у Linux. Я не впевнений, чи безпечні я дозволи безпечні, чи є кращий спосіб зробити це. Я б це робив лише в тестовому середовищі.)
ВАЖЛИВО: Це нічого не скаже про те, як його інтерпретувати. Я не маю уявлення, як це зробити, я просто радий, що це працює.
Початок роботи XHProf
1. Яку операційну систему ви працюєте?
Mac чи Linux?
Це можливо.
Windows?
Напевно, ні. Для запуску xhprof на Windows у вас повинен бути складений dll. У цій темі є посилання на одне , але у мене завжди виникали проблеми сумісності, коли я намагався використовувати його на XAMPP.
Я думаю, це було складено з іншою версією Apache.
2. Початок роботи над Ubuntu
Це можливо на 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 / get-xhprof-working-well
Але я цього не зробив. Мені вдалося змусити його працювати на Ubuntu Server 13.04, хоча я думаю, що будь-яка остання версія Ubuntu Server буде працювати.
Я налаштував свій сервер на VirtualBox. VirtualBox безкоштовний, але може знадобитися трохи, щоб дізнатися, як його налаштувати.
3.Установка XHProf
Я припускаю, що у нас є повністю функціонуючий сервер Ubuntu.
Спочатку нам потрібно встановити грушу. Ми будемо використовувати це для встановлення 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 у списку, ви добре піти. Якщо ні, не хвилюйтесь, спробуйте це замість цього, щоб перевірити, чи працює він:
Перейдіть до своєї веб-корені /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. Потім у своєму браузері ви можете відкрити http://mywebsitehere.com/xhprof, щоб побачити всі зроблені вами запуски.
Потім перезапустіть апаш. Тепер час трохи налаштувати devel. Перейдіть до налаштувань розробки, увімкніть 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
А тепер у вас повинні бути графічні функції. Сподіваємось, це допомагає!