在Mac上安装xDebug到xampp:phpize无法工作。

4
我正在使用OS 10.11上的xampp5.6.15。 我按照这个说明安装xDebug。我的“定制安装说明”如下: enter image description here 在这个说明中,它没有提到下载的tgz文件放在哪里,所以我就把它放在了“downloads”文件夹中。当我运行了“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.
我猜这是因为xdebug文件夹不在正确的位置,我试过将它移动到“xamppfiles/”和“xamppfiles/modules/”等其他位置,但都没有成功。
那么问题出在什么地方?我应该把文件夹放在哪里?

ls /usr/include/php/main/ 会显示什么?它抱怨的文件应该作为系统的一部分安装;它们不是源文件,而是头文件。但是,除非您使用相同版本的PHP,否则它们将无法工作。 - miken32
1
嗨!我不确定这个评论是否会对你有所帮助,但是如果你正在尝试安装xDebug扩展,基本步骤如下: 1:为你的php版本下载xdebug.so文件。 2:将xdebug.so文件放置在你的扩展文件夹中。 3:更改php.ini文件中的某个配置,与zend扩展相关。 在你的情况下,你必须找出你的php.ini文件在哪里,它的扩展文件夹在哪里以及你的php版本是什么。记住,你可以为cli和apache分别设置一个php.ini文件,为了避免混淆,在php文件中运行函数phpinfo();而不是通过控制台。 - Polak
1
顺便说一下,如果您的问题是由于放置文件夹的位置而引起的,我猜想该文件夹应该在应用程序文件夹xampp中,但它们可以放在任何地方,因为您正在在php.ini文件中设置扩展路径... - Polak
我感谢两个回答,看起来原帖的发布者已经很久没有回复了。我会先尝试@Polak的方法,因为它最简单。我不记得是否有预构建的PHP 7.0.4 Mac二进制文件,但我会再次检查。 - Rajavanya Subramaniyan
1
这就是为什么我决定在 OS X 上使用 Vagrant 进行 PHP 开发的原因...一开始似乎不是一个好主意,但后来你会意识到这种问题更容易解决。还有另一个软件叫做 MAMP,我想它和 XAMPP 差不多...也许是一个更好的选择...只需要检查一下... - Polak
显示剩余6条评论
4个回答

5

在xdebug源代码目录中提供XAMPP php二进制文件的完整路径:

$ cd xdebug-2.5.0
$ /Applications/XAMPP/xamppfiles/bin/phpize
$ ./configure --enable-xdebug --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
$ make

将模块 xdebug.so 放到扩展目录中(请参阅特定的安装说明)。

1
我也曾遇到相同的问题,在尝试运行phpize安装xdebug时,我收到了以下信息。在我的情况下,解决方法(和问题)是我没有安装XAMPP开发者文件!当您运行XAMPP安装程序时,可以选择此选项。如果您最初未选择它,请再次运行安装程序,它允许您添加开发人员文件。
为了完整起见:我还遇到了与错误版本的php / phpize有关的问题(使用了旧版的OSX),因此我还必须设置路径以存储XAMPP版本的php、phpize等。
export PATH=/Applications/XAMPP/xamppfiles/bin/:$PATH

之后,一切都很好,我只需要按照XDEBUG向导给出的步骤进行操作:https://xdebug.org/wizard.php

这是我在运行phpize时收到的原始错误信息:

grep: /Applications/XAMPP/xamppfiles/include/php/main/php.h: 没有那个文件或目录
grep: /Applications/XAMPP/xamppfiles/include/php/Zend/zend_modules.h: 没有那个文件或目录
grep: /Applications/XAMPP/xamppfiles/include/php/Zend/zend_extensions.h: 没有那个文件或目录
配置为:
PHP Api 版本:
Zend 模块 Api 号码:
Zend 扩展 Api 号码:


这正是我的问题。没有什么花哨的东西,只是运行OSX Mojave并使用XAMPP。好吧,我也使用Oh My ZSH。唯一缺少的就是重新运行相同的xampp安装程序,并确保只选中了开发人员文件。它不会影响任何其他东西,只会添加开发人员文件(源代码)。-- 安装完成后,请按照xdebug向导的安装说明进行操作,然后您就可以开始使用了 :) - Wade

1
也许您可以这样解决问题:
1. cd xdebug-2.5.4 2. /Applications/XAMPP/xamppfiles/bin/phpize 如果您没有home-brew,请安装它:https://brew.sh/ 3. brew install autoconf 4. ./configure --enable-xdebug --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config 不要忘记运行'make test': 5. make 6. make test 7. cp modules/xdebug.so /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012 编辑/Applications/XAMPP/xamppfiles/etc/php.ini: 8. vi /Applications/XAMPP/xamppfiles/etc/php.ini 9. 并添加以下行: zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so 10. 重新启动您的web服务器。

我希望这种方法对您有所帮助。


"brew install autoconf" 做什么? - Qazi Firdous

0

我认为你漏掉了两件事:

  • PHP源代码

我不了解XAMPP,所以无法提供帮助。也许PHP源代码已经与XAMPP打包在一起,可以查看一下。

  • autoconf

尝试使用以下命令安装autoconf:

brew install autoconf

XAMPP中没有源代码。但是你的回答给了我一个提示。我可以将我的Mac PHP版本(5.x)更新到与XAMPP的版本(7.x)相匹配。然后,我可以使用我的Mac的PHP安装进行phpize。最后,将编译的.so与XAMPP一起使用。 - Rajavanya Subramaniyan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接