php 使用MAMP在Mac OSX上构建/安装XDebug

ffdz8vbo  于 2022-12-02  发布在  PHP
关注(0)|答案(5)|浏览(214)

我在使用MAMP在Mac OSX上构建/安装XDebug时遇到问题。
到目前为止,我在网上进行了广泛的搜索,目前我停留在XDebug“安装向导”的一部分,它告诉我“运行:phpize”对我下载的源代码。
当我运行phpize时,得到以下消息:

new-host-2:xdebug-2.2.0 Dima$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

如果我做一个which phpize,我得到:

new-host-2:xdebug-2.2.0 Dima$ which phpize
/usr/bin/phpize

这不是我想使用的版本,我想使用安装了MAMP的phpize版本,因为我想在MAMP版本的PHP上安装XDebug。这是令人困惑的,因为我已经将MAMP特定的PHP bin路径添加到我的.bash_profile变量中。
如果我运行echo $PATH,则会得到:

new-host-2:xdebug-2.2.0 Dima$ echo $PATH
/opt/local/bin:/opt/local/sbin:/Applications/MAMP/bin/php/php5.4.3/bin:/Users/Dima/.rvm/gems/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/Dima/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

MAMP特定的PHP路径显示在'/usr/bin'前面。接下来我尝试运行MAMP特定的phpize,手动提供完整的路径,如下所示:

new-host-2:xdebug-2.2.0 Dima$ /Applications/MAMP/bin/php/php5.4.3/bin/phpize 
-bash: /Applications/MAMP/bin/php/php5.4.3/bin/phpize: Permission denied

现在我在Finder中检查了这些文件的权限,它显示我有完全的权限读取和写入此文件夹中的文件。我有点迷路了。任何帮助将不胜感激。我可以张贴任何额外的信息,如果它将有助于诊断这个问题。

waxmsbnn

waxmsbnn1#

遇到同样的问题,但找到了更好的解决方案
xDebug已在MAMP中。
检查您的php.ini

/Applications/MAMP/conf/php5.x/php.ini

一直走下去你会看到

[xdebug]
;zend_extension="/Applications/MAMP/bin/php5.X/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

把它改成

[xdebug]
zend_extension="/Applications/MAMP/bin/php5.X/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

重新启动服务器...完成!
请参阅:https://web.archive.org/web/20151107210347/http://danpolant.com/want-to-run-xdebug-mamp-is-the-easiest-way/

gev0vcfq

gev0vcfq2#

我尝试了上面的,我不太为我工作,所以我谷歌了一些更多的,这里是什么做的把戏。
1.从SourceForge下载并解包MAMP Components
1.记下在phpize过程中没有找到的路径,对我来说是:

/Applications/MAMP/bin/php/php5.2.17/include/php/main/php.h

/Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_modules.h

/Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_extensions.h

1.在MAMP php目录中创建所需的路径,对我来说,这是

/include/php/

1.确保对目录具有正确的权限
1.找到目标PHP版本(在我的例子中是5.2.17)的组件,并将它们复制到步骤3中创建的路径中。
1.从Xdebug站点运行有关使用正确版本phpize的说明
我希望这对其他人有帮助,因为我花了太长时间才解决这个问题!

8nuwlpux

8nuwlpux3#

经过更多的研究和反复试验,我设法安装后,做了以下事情:
1.在终端中,我运行了chmod u+x /Applications/MAMP/bin/php/php5.4.3/bin/*以打开phpize和该路径中其他内容的执行权限
1.按照this article安装命令行工具
1.遵循this article安装最新的autoconf和相关工具
1.之后,按照XDebug Wizard提供的步骤顺利工作
这是一个很大的头痛虽然。希望这个答案将保存别人在未来的一点时间。

agyaoht7

agyaoht74#

需要指出的是,“解决方案”中的指令是针对Xdebug2的,我们目前正在使用xdebug3。
要在macOS上的MAMP中启用xdebug3,请执行以下操作:

  • 打开工具→ phpinfo
  • 找到行Loaded Configuration File并复制php.ini文件的完整路径(/Application/MAMP/......)。
  • 打开终端,键入以下命令open,然后粘贴活动php.ini文件的复制完整路径。
  • 添加以下行
[xdebug]
zend_extension = xdebug
xdebug.mode = debug
xdebug.show_local_vars=1
  • 重新启动MAMP Web服务器。

再次检查phpinfo(刷新)并查看ZEND engine下面的一行,其中显示with Xdebug vX.X.X....
如果没有出现,请检查拼写错误或其他打字错误。
请参考xdebug documentation以获取可以添加到打开的php.ini文件中的附加设置。如果更改PHP版本,则必须重复此过程。
或者购买MAMP Pro许可证,允许从MAMP控制面板执行此操作。

wmvff8tz

wmvff8tz5#

它很容易在C:\MAMP\conf\php x.x.x \目录中打开每个相关的php.ini,然后将这些行放在php.ini中

[xdebug]

xdebug.default_enable=1

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

zend_extension="C:\MAMP\bin\php\php5.5.0\ext\php_xdebug.dll"

相关问题