上帝棒蝙蝠侠。那真令人沮丧。这是使xhprof工作的指南。(注意:我对Linux还是很陌生。我不确定我使用的权限是否安全,或者是否有更好的方法。我只会在测试环境中这样做。)
重要说明:它不会告诉您有关如何解释它的任何信息。我不知道该怎么做,我很高兴它能起作用。
使XHProf工作
1.您正在运行什么操作系统?
Mac还是Linux?
这是可能的。
视窗?
可能不会。要在Windows上运行xhprof,您必须具有已编译的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 / getting-xhprof-working-well
但是我还没有做到。尽管我认为任何最新版本的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时遇到错误,它将尝试下载beta版并失败。在这种情况下,请尝试:
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
这将在您的webroot中创建一个指向现有xhprof文件的文件夹。然后,在浏览器中,您可以打开http://mywebsitehere.com/xhprof来查看所做的所有运行。
然后重新启动apache。现在是时候进行一些开发配置了。转到开发设置,启用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
现在,您应该具有绘图功能。希望有帮助!