当前位置: 首页 > 知识库问答 >
问题:

在MAMP PRO上设置xdebug

齐英耀
2023-03-14

我试图在mamp pro上设置xdebug,但没有成功。我在网上到处搜索,什么都帮不了我。

首先,我尝试在php中取消注释以下行。ini:

zend_extension="/应用程序/MAMP/bin/php/php5.4.4/lib/php/扩展/no-debug-non-zts-20100525/xdebug.so"

接下来,我尝试了向导:http://xdebug.org/wizard.php

接下来,我尝试将这些行添加到php中。ini:

xdebug.default_enable=1

xdebug。远程启用=1

xdebug。远程处理程序=dbgp

xdebug。远程主机=本地主机

xdebug.remote_port=9000

xdebug.remote_autostart=1

没什么帮助。我在phpinfo中看不到xdebug。

MAMP PRO版本:2.1。1.

PHP版本:PHP5.4。4.

谢谢

共有2个答案

施俊明
2023-03-14

我自己设置MAMP Pro和nginx时遇到了麻烦,上面的答案对我不起作用。

问题是默认端口设置是9000,在我的例子中,该端口已经在使用中,因此我在我的nginx conf中查看了这一行:

location ~ \.php$ {
            try_files        $uri =404;
            fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
            fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include          fastcgi_params;
        }

然后转到fastcgi_pass设置为时所在的文件,在那里您将找到正确的端口号。在我的例子中,它是在应用程序/MAMP/库/日志/快速cgi中,文件名取决于主机的php版本。

然后打开该文件,并将其中的任何PID设置为xdebug。php中的远程_端口。伊尼,对我来说是13267。

值得一提的是,我的MAMP config for PHP设置为CGI模式,而不是模块。

我刚刚意识到端口号动态变化太多了。所以我在我的nginx模板中为MAMP设置了一个快速cgi通道的硬编码值,就像这样:

fastcgi_pass      127.0.0.1:9072;
# comment out the regular setting just in case.
# fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
纪佐
2023-03-14

自MAMP 2.01发布以来,XDebug已经包含在内。

解决了的。以下是帮助我的教程:

>

编辑php。ini模板文件通过MAMP启用扩展名。通过文件编辑模板文件-

编辑php.ini模板文件的底部,使其最终看起来像如果你想要配置文件输出

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "/tmp"
; DONT REMOVE: MAMP PRO php5.3.6.ini template compatibility version: 1

如果您不想要概要文件输出,只想运行xdebug,那么使用

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.profiler_enable = 0
xdebug.profiler_output_dir = "/tmp"
; DONT REMOVE: MAMP PRO php5.3.6.ini template compatibility version: 1

现在,当您有错误时,如果将它们发送到standard out,您将看到类似这样的内容

我的php。ini文件:

保存已编辑的模板并关闭编辑窗口

重新启动MAMP

打开MAMP的WebStart页面并导航到PHPInfo选项卡。检查以确保Xdebug正在运行。在浏览器窗口中搜索“Xdebug”使这变得很容易。

如果您使用与我上面相同的设置,那么当您运行PHP代码时,Xdebug将放置cachegrind。输出“/tmp”目录中的文件。打开“/temp”目录并运行其中一个PHP文件以确保其正常工作。通过打开终端并运行命令,可以在finder中打开“/tmp”目录

open /tmp

现在,你可以使用任何理解这些缓存的应用程序。输出文件以查看配置文件数据。像KCacheGrind(Linux/Windows、KDE)、WinCacheGrind(Windows)、xdebugtoolkit和Webgrind这样的应用程序

下载Webgrind

在MAMP上安装Webgrind主机以运行Webgrind

访问本地MAMP安装上的webgrind url设置。我的只是网络研磨/

如果您已经有cachegrind输出文件,您应该能够在“自动(最新)”下拉列表中选择该文件,或者将其保留为“自动”,然后单击“更新”,这将显示配置文件数据

扔一个庆祝的拳头泵

 类似资料:
  • 问题内容: 在Webfaction共享主机帐户上设置Redis数据库需要执行哪些步骤? 问题答案: 由于Webfaction服务器的特殊环境限制,安装说明并不像它们那样简单。不过,最后您将拥有一个功能齐全的Redis服务器,即使重新启动后它也可以保持运行状态。大约半年前,我通过以下步骤亲自安装了Redis,此后一直运行良好。只是警告一下,半年不是很长的时间,尤其是因为服务器没有被大量使用。 这些说

  • 问题内容: 我正在使用JTextField在Java中制作一个小型应用程序。现在,我想在运行应用程序后立即将光标自动放置在该应用程序中,这样用户就不必单击它,然后编写文本。我已经尝试了几乎所有在网上找到的所有东西:setCaretPosition(0),grabFocus(),requestFocusInWindow()或requestFocus(),但它们都不起作用!我很拼命,你能帮我解决这个问

  • 问题内容: 我知道将状态设置为打开是一种反模式,应该将状态设置为打开,但是假设我想将标记数量的长度设置为状态。在那种情况下,我无法将状态设置为on,因为在该阶段可能未安装标签。那么,这里最好的选择是什么?如果将状态设置为开启,会好吗? 问题答案: 这不是一个反模式调用在。实际上,ReactJS在其文档中提供了一个示例: 您应该在componentDidMount生命周期方法中使用AJAX调用填充数

  • 给定以下GeoDataFrame: 我需要设置CRS,就像我对另一个GeoDataFrame所做的那样(如下所示): 我试过这个: 还有这个: ……但运气不好。 一些重要的注意事项: > 上述.to_crs方法适用的另一个GeoDataFrame来自一个形状文件,geometry列用于多边形,而不是点。应用.to_crs方法后,其“几何”值如下所示: 多边形((-5973.005380655156

  • 是否可以将焦点从更改为? 我尝试了以下方法: 但它不起作用。按Tab键或Enter键时,光标消失。

  • 我正在尝试将Firebase Crashlytics集成到iOS我的应用程序中,该应用程序启用了Firebase Crash Reporting。我遵循了这里的文档,但在运行自定义构建阶段时,我的构建总是失败: Xcode中的错误如下: Fabric API键无效。Fabric运行脚本构建阶段应包含API密钥:./Fabric.framework/run INSERT_YOUR_API_KEY I