Php 使用MAMP安装Zend调试器

Php 使用MAMP安装Zend调试器,php,mamp,zend-studio,Php,Mamp,Zend Studio,我正在使用MAMP的免费版本。我正在使用最新版本的MAMP 2.1.1和PHP版本5.4.4 我正在尝试安装Zend调试器,所以我从Zend网站下载了它,并将其复制到以下路径 /Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525 然后配置php.ini并编写以下行: [ZendDebugger] zend_extension= "/Applications/MAMP/bin/php/ph

我正在使用MAMP的免费版本。我正在使用最新版本的MAMP 2.1.1和PHP版本5.4.4

我正在尝试安装Zend调试器,所以我从Zend网站下载了它,并将其复制到以下路径

/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525
然后配置php.ini并编写以下行:

[ZendDebugger]
zend_extension= "/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/ZendDebugger.so"
zend_debugger.allow_hosts= 127.0.0.1
zend_debugger.expose_remotely= always
我确实退出了MAMP,然后又重新开始,但它不起作用


那么,我应该如何正确配置它呢?

适用于任何面临zend debugger ini设置问题的人。。 在我将下面的最后一行添加到php.ini中的Zend部分后,我终于让它工作了

[Zend]
zend_extension="/Applications/MAMP/bin/php/php5.2.17/lib/php/extensions/Zend/ZendDebugger.so"
zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.1/16
zend_debugger.expose_remotely=always
zend_debugger.allow_tunnel=127.0.0.1/32

如果您仅使用调试器,这应该可以实现

[Zend]
zend_extension=/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/ZendDebugger.so
zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.1/16
zend_debugger.expose_remotely=always
zend_debugger.allow_tunnel=127.0.0.1/32
当然,使用适当的路径访问ZendDebugger。因此

您至少需要Zend Debugger v6.0.0才能使其正常工作。如果您从Zend下载页面下载调试器,它将失败。这是一个过时的调试器版本

Zend Studio应用程序中提供了最新的Zend调试器,例如:

/Applications/ZendStudio.app/Contents/Resources/Java/plugins/com.zend.php.debug.debugger.macosx_10.6.0.v20140128-2127/resources/php55/ZendDebugger.so
只需从Zend Studio应用程序中获取最新的调试器,并将其复制到MAMP中的适当位置

MAMP、zendstudio和zenddebugger是非常强大的调试工具,可以提高代码的性能

请注意,web根目录上也需要dummy.php文件

您可以自己制作:

<?php
@ini_set('zend_monitor.enable', 0);
if(@function_exists('output_cache_disable')) {
    @output_cache_disable();
}
if(isset($_GET['debugger_connect']) && $_GET['debugger_connect'] == 1) {
    if(function_exists('debugger_connect'))  {
        debugger_connect();
        exit();
    } else {
        echo "No connector is installed.";
    }
}

你能澄清一下“不起作用”吗。。是否有特定的错误消息,或者在phpinfo()输出中没有看到Zend Debugger?你从Zend网站下载了什么文件。。它是否确实是为64位PHP5.4编译的.so,以匹配您的MAMP安装和php模块API版本?查看上的当前下载版本,两者似乎都与您需要的PHP模块API版本(20100525)不匹配。一切正常,但我在phpinfo()输出中看不到它。另外,我正在使用phpstorm,因此无法进行调试。你是对的,不匹配这是问题所在。。。还有其他解决方案吗?实际上,站点上显示的Zend版本与PHP API不一样(令人困惑的是,只是与我预期的格式类似)。我刚刚下载了一些单独的
ZendeBugger.so
文件,适用于高达5.3.x的PHP,但您使用的是PHP5.4.4。所以你有几个选择。。。下载MAMP并使用它而不是5.4。或者试试PHP5.3。是的,它使用的是5.3.x,但由于我更新了它,它根本不起作用。无论如何,我会等待一段时间,也许他们会创建一个适合PHP5.4.4的版本