首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装和配置XHProf (Ubuntu)

安装和配置XHProf (Ubuntu)
EN

Drupal用户
提问于 2013-10-09 14:28:54
回答 1查看 21.8K关注 0票数 18

问题

我正在尝试使用XHProf,但是每次运行它时,我都会收到可怕的php错误。

代码语言:javascript
复制
Warning: Invalid argument supplied for foreach() in xhprof_compute_inclusive_times() (line 1670 of /var/www/drupal/sites/all/modules/XHProf/xhprof.inc).
Warning: Invalid argument supplied for foreach() in xhprof_compute_flat_info() (line 1644 of /var/www/drupal/sites/all/modules/XHProf/xhprof.inc).
Warning: Invalid argument supplied for foreach() in theme_xhprof_overall_summary() (line 367 of /var/www/drupal/sites/all/modules/XHProf/xhprof.module).

这里解决了这个问题,因为临时文件夹不存在,而我的文件夹却存在。

设置服务器端

我正在使用Drupal 7运行一个新的UbuntuServer13.04。

按照pear的说明安装使用这里的xhprof。我还向php.ini添加了一个临时目录,这是我手动创建的。

代码语言:javascript
复制
extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof"

Drupal设置

我已经安装了devel,我还安装了XHProf模块。

admin/config/development/xhprof中,我启用了对所有页面视图和drush请求的分析。

在遵循xhprof链接时,我会得到上面的错误。

EN

回答 1

Drupal用户

回答已采纳

发布于 2013-10-10 18:31:24

天哪蝙蝠侠。那真是令人难以置信的沮丧。这是一个让xhprof工作的指南。(注意:我对Linux非常陌生。我不确定我使用的权限是否安全,或者是否有更好的方法。我只会在测试环境中这样做。)

重要的是:它不会告诉你如何解释它。我不知道该怎么做,我只是很高兴它起作用了。

Getting Working

1.您正在运行哪个操作系统?

Mac还是Linux?

这是可能的。

窗户?

可能不会。要在windows上运行xhprof,必须有一个已编译的dll。这个线程中有一个指向它的链接,但是当我试图在XAMPP上使用它时,它始终存在兼容性问题。

我认为它是用不同版本的Apache编译的。

2.让它在Ubuntu

上工作

在麦克身上有可能。以下是两个有用的链接:

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

但我还没做呢。我设法让它在UbuntuServer13.04上工作,尽管我认为任何最新版本的Ubuntu都能工作。

我在VirtualBox上安装了服务器.VirtualBox是免费的,但是学习如何设置它可能需要一点时间。

3.即时XHProf

我将假设我们有一个功能齐全的Ubuntu。

首先,我们需要安装pear。我们将使用它来安装XHProf。

代码语言:javascript
复制
sudo apt-get install pear

我们随后使用了phpdev,这也是必要的。

代码语言:javascript
复制
sudo apt-get install php5-dev

如果这些命令不起作用,而且我弄错了,那么直接执行以下命令:

代码语言:javascript
复制
sudo pecl install -f xhprof

Ubuntu会告诉您您缺少什么,并给您安装它的提示。一旦获得了所有的依赖项,就安装xhprof。

您可能会在安装xhprof时出错,它会尝试下载测试版而失败。在这种情况下,请尝试:

代码语言:javascript
复制
sudo pecl install -f xhprof-beta

希望现在安装了xhprof。

现在我们需要配置它。打开位于php.ini的/etc/php5/apache2/php.ini,并在扩展部分下添加以下两行:

代码语言:javascript
复制
extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof"

第二行设置输出目录。如果这个文件夹不存在,您必须创建it.When,您已经使用

代码语言:javascript
复制
sudo service apache2 restart

4.检查XHProf是否正在运行

现在我们需要检查一下这是否有效。

试验1:

输入php -m

如果您在列表中看到xhprof,就可以开始了。如果没有,请不要担心,试着用它来检查它是否有效:

转到您的webroot /var/www/并创建一个php文件,其中只有:

代码语言:javascript
复制
phpinfo();

将其保存为phpinfo.php。在浏览器中打开它,您将看到PHP信息。搜索xhprof,如果您看到这个,那么它正在运行。

5.让它与Drupal

一起工作

我无法让它和Drupal模块一起工作。因此,我将告诉您如何让它与开发模块一起工作。

首先,我从这里那里借用了一些配置。我并没有真正遵循这部分,但它的工作是如此的礼物马和诸如此类。

使用以下命令创建一个新的配置文件:

代码语言:javascript
复制
sudo nano /etc/apache2/conf.d/xhprof.conf

并插入以下代码。

代码语言:javascript
复制
alias /xhprof_html "/usr/share/php/xhprof_html/"

然后我们可能需要创建一个指向我们的xhprof_html文件夹的符号链接。所以以防万一:

-s /usr/share/php/xhprof_html /var/www/xhprof_html

这将在webroot中创建一个指向现有xhprof文件的文件夹。然后,您可以在浏览器中打开http://mywebsitehere.com/xhprof,查看您所做的所有运行。

然后重启apache。现在是时候进行一个小小的开发配置了。转到devel设置,启用xhprof并设置:

代码语言:javascript
复制
xhprof directory = /usr/share/php

XHProf URL = /xhprof_html

现在,在每个页面的底部,您应该会看到一个指向xhprof的小链接。

点击它应该会让你看到这样的页面。你的任务完成了。祝贺你!

如果这不起作用,而且您正在获得运行错误,这可能是因为Drupal没有写入我们前面设置的tmp文件夹的权限,所以请输入:

代码语言:javascript
复制
sudo chown -R www-data /var/tmp/xhprof

希望这能奏效。我们说完了。好啊!

除非你想要作图函数。谢天谢地,这就像:

代码语言:javascript
复制
sudo apt-get install graphviz
sudo service apache2 restart

现在你应该有作图功能了。希望这能帮上忙!

票数 34
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/88359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档