1

我试图让 zend 调试器与 eclipse 一起工作,以便我可以在我的代码中触发断点。

我已经安装了 wamp 2.2(使用 PHP 5.3.10 - 线程安全)

我已经从 zend 安装了 eclipse 'all in one' 包。

我已经更新了我的 php.ini 以包含

zend_extension = "c:/wamp/bin/php/php5.3.10/zend_ext/ZendDebugger.dll"

[Zend]
zend_debugger.allow_hosts="127.0.0.1"
zend_debugger.expose_remotely=always

当我启动我的 php.exe 时,它​​显示

Cannot load Zend Debugger - it was build with configuration API220090626,NTS,VC9, whereas running engine is API2200090626,TS,VC9

我读过 ZendDebugger 只能作为非线程安全的,所以我不能只下载一个 ts 版本。我找不到 php 5.3.10 (http://windows.php.net/download/) 的下载链接

但是,当我尝试用 5.3.13 (nts) 替换我的 php 副本时,我的 sqlsrv 扩展不兼容并且我收到错误

PHP Startup: Unable to load dynamic library 'c:wamp/bin/php/php5.3.10/ext/php_sqlsrv_53_nts.dll' - %1 is not a valid Win32 application

如果我将 php.ini 更改为不加载 sqlsrv 扩展,我仍然会收到错误消息

Failed loading c:/wamp/bin/php/php5.3.10/zend_ext/ZendDebugger.dll

有谁知道我怎样才能使用 Zend Framework、Eclipse、wamp 和 sqlserv 进行调试?

4

1 回答 1

3

无法加载 Zend 调试器 - 它是使用配置 API220090626、NTS、VC9 构建的,而运行引擎是 API2200090626、TS、VC9

NTS 意味着非线程安全,因此您必须使用 PHP 的 NTS 构建......这就是您将 PHP 作为 FCGI 进程运行的方式(与通过 mod_php 的 Apache Thread 相比)。

Zend 通常不再提供或支持任何东西的 TS 构建(自 PHP 5.2 之后),看起来您的设置是为了 TS 构建......

你可以尝试两件事:

使用 PHP 附带的 WAMP 作为 FCGI (NTS) 选项(我知道最新版本的Wamp-Developer可以,但它是商业的,也许看看XAMPP或其他Wamp是否可以?)

或者代替 ZendDebugger,尝试使用 XDebug。它同时作为 TS 和 NTS 构建。而且我确信您可以使用 Eclipse。

于 2012-05-19T16:25:30.107 回答